I am writing an application that plays nice in Vista when it comes to UAC and running as a standard user, however the application needs to be able to record CDs. When testing as local admin (with UAC on), this isn't an issue, but when testing as local
user (the machine is running Windows Vista and is part of a Windows 2003 domain) IMAPI is denying access to the CDRW drive. The same thing happens in Windows Explorer; now I've read about a group policy that you can set and I've already tried it. The group
policy I'm referring to can be found in: User Configuration\Administrative Templates\Windows Components\Windows Explorer\
with the name "Remove CD Burning Features", the default is "Not Configured" and I've set this to enabled and logged off and back on (I haven't restarted the machine as I'm connecting to it via Terminal Services but I guess I will give restaring a try
tomorrow). Does anyone know of a definitive way to get CD burning in Vista as a standard user, or is this a pipe dream and not possible? Maybe the restart while setting the setting to "Disabled" will fix it, but I will have to wait until tomorrow to find
out. Otherwise if you know what I'm missing I'd appreciate it.
Edit: A restart didn't help, so I take it that policy is only for denying the use of the CD Burning ability, not granting it (by disabling). So far my only option seems to elevate for this, but it's almost crucial that this be avoided.
Thanks.
-
-
Are you talking about using Vista's built-in CD burning capabilities (which I assume that policy is for) or something else?
I know that for Nero you need an application called Nero BurnRights to grant CD burning rights to limited users, both in XP and Vista. I'm not sure what it does (in terms of the settings it changes) exactly though. -
The default behaviour for Vista is to allow Standard Users to write CDs. Indeed on XP a standard user should be able to burn discs unless the IMAPI service has been disabled.
I'm not sure what Nero BurnRights actually does, but I have an inkling that Nero performed lower level access to the drive. Easy CD Creator and the ISO burning powertoy always worked fine for everyone under XP.
Do you have a sample of the code you are using to burn discs that you could share? -
I am using Vista's built-in CD Burning features, and the code that I am using is derived from Paul DiLascia's IMAPITools: http://msdn.microsoft.com/msdnmag/issues/04/04/CQA/
Hm, maybe the CD Burning capabilities have been disabled because the machine is part of a domain? I wonder if Nero BurnRights will also allow usage of the built-in burning capabilities of Vista because right now even through Windows Explorer the CDRW doesn't act like it can burn.
Edit: I wonder if the IMAPI service is 'disabled' or 'disallowed' for standard users? It must be disallowed because on that same machine an administrative user gets access to IMAPI. So my question is how/where to allow it. -
mig wrote:Edit: I wonder if the IMAPI service is 'disabled' or 'disallowed' for standard users? It must be disallowed because on that same machine an administrative user gets access to IMAPI. So my question is how/where to allow it.
The IMAPI service is probably set to Manual, and only started when the burning starts. Normal users don't have permissions to start it, but admins do.
Maybe if you change it to Automatic and keep it started, it will be available to everyone. Not sure, though. -
I wonder what implications that might have on system resources and performance if any? Or has it been set to Manual for this purpose (permissions?)? Anyone know?
By the way, I am currently installing Vista in a Virtual PC sandbox to continue testing, since the sandbox won't be on a domain I can maybe get more answers, I will check the status of the IMAPI service then and post my findings.
Edit: While waiting for that sandbox to install I decided to take a peek at the Services.msc on my machine and couldn't identify the IMAPI service, I am about to go back and look more in depth but I found it weird it's not called what it was in XP: "IMAPI CD-Burning COM Serivce"
Which by the way in XP is set to manual by default.
Edit 2: I just realized I won't be able to test this on either sandbox because Virtual PC doesn't emulate CDRW software; I was just reminded of this through my xp sandbox. Oh well I guess I will be deleting that Vista sandbox now.
Edit 3: I just found this link to a webcast talking about IMAPI2 in Vista
Going to try to get that webcast now and see what they have to say
Final edit: This webcast led me to the IMAPI forum on MSDN which had answers that I was looking for, I am still reading however so hopefully I will find a definitive answer there. I should have looked on MSDN Forums first though, so I feel a little silly sticking a post up here but now I know for next time
Final edit v2: Standard users have access to the burning engine by deafult as I think someone posted above, the issue must be with the domain the machine I was testing on is in, there must be a group policy on that domain that prevents write access to optical devices by default, I'll have a chat with the administrator about it.
Thanks all. -
Yes, as far as I'm aware, Domain policies always override local policies.
Anyway, have you tried checking using [AccessChk] ?
eg:
C:\Program Files\SysInternals>accesschk Richard -cw imapi
AccessChk v3.0 - Check access of files, registry keys, processes or services
Copyright (C) 2006-2007 Mark Russinovich
Sysinternals - www.sysinternals.com
RW imapi -
Did you ever find a solution (to enable IMAPI use for standard users?) I'm having the same problem on Windows Server 2008. In my test setup, I'm the domain administrator, and I've configured the group policy according to http://msdn.microsoft.com/en-us/library/bb540662(VS.85).aspx">http://msdn.microsoft.com/en-us/library/bb540662(VS.85).aspxmig said:I wonder what implications that might have on system resources and performance if any? Or has it been set to Manual for this purpose (permissions?)? Anyone know?
By the way, I am currently installing Vista in a Virtual PC sandbox to continue testing, since the sandbox won't be on a domain I can maybe get more answers, I will check the status of the IMAPI service then and post my findings.
Edit: While waiting for that sandbox to install I decided to take a peek at the Services.msc on my machine and couldn't identify the IMAPI service, I am about to go back and look more in depth but I found it weird it's not called what it was in XP: "IMAPI CD-Burning COM Serivce"
Which by the way in XP is set to manual by default.
Edit 2: I just realized I won't be able to test this on either sandbox because Virtual PC doesn't emulate CDRW software; I was just reminded of this through my xp sandbox. Oh well I guess I will be deleting that Vista sandbox now.
Edit 3: I just found this link to a webcast talking about IMAPI2 in Vista
Going to try to get that webcast now and see what they have to say
Final edit: This webcast led me to the IMAPI forum on MSDN which had answers that I was looking for, I am still reading however so hopefully I will find a definitive answer there. I should have looked on MSDN Forums first though, so I feel a little silly sticking a post up here but now I know for next time
Final edit v2: Standard users have access to the burning engine by deafult as I think someone posted above, the issue must be with the domain the machine I was testing on is in, there must be a group policy on that domain that prevents write access to optical devices by default, I'll have a chat with the administrator about it.
Thanks all.
After configuring the group policy as directed, I'm still not able to get IMAPI to work (IDiscMaster.EnumDiscRecorders returns an empty list) while running as a standard user. When I'm logged in as an administrator, I can see the DiscRecorder device through IMAPI.
Here's a nice simple CD Burning app which provides a repro case for this problem:
http://www.codeproject.com/KB/winsdk/CD_Burner.aspx
Run it as an adminstrator - see the DVD burner. Run it as a standard user - no DVD burner.
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.