setACL through custom action breaking windows installer service.
Hi, i am currently packaging AutoCAD LT 2000 and am trying to set permissions on HKCU to give the APPGROUP full permissions.
As shown below.
'Grants the APPGROUP user full rights to HKCR
Set oShell = CreateObject("WScript.Shell")
programFiles = oShell.ExpandEnvironmentStrings("%ProgramFiles%")
path = programFiles&"\AutoCAD LT 2000\SetACL.exe"
cmd = """" &path &"""" &" -on " &"""HKEY_CLASSES_ROOT""" &" -ot reg -actn ace -ace " &"""n:UKD-LG-APPL-AutodeskAutoCADLT2000;p:full""" &" -silent -ignoreerr"
oShell.Run cmd, 0, TRUE
I am doing this because when i launch the app as a user, i am told that i have failed to update the registry. Using Regmon, etc will not tell me specifically what is causing problem, also an installrite capture bears no fruits.
The above script fixes the update registry error, but after forcing a repair, i get an error saying that the windows installer service is shagged.
Any input appreciated. At my wits end.
As shown below.
'Grants the APPGROUP user full rights to HKCR
Set oShell = CreateObject("WScript.Shell")
programFiles = oShell.ExpandEnvironmentStrings("%ProgramFiles%")
path = programFiles&"\AutoCAD LT 2000\SetACL.exe"
cmd = """" &path &"""" &" -on " &"""HKEY_CLASSES_ROOT""" &" -ot reg -actn ace -ace " &"""n:UKD-LG-APPL-AutodeskAutoCADLT2000;p:full""" &" -silent -ignoreerr"
oShell.Run cmd, 0, TRUE
I am doing this because when i launch the app as a user, i am told that i have failed to update the registry. Using Regmon, etc will not tell me specifically what is causing problem, also an installrite capture bears no fruits.
The above script fixes the update registry error, but after forcing a repair, i get an error saying that the windows installer service is shagged.
Any input appreciated. At my wits end.
0 Comments
[ + ] Show comments
Answers (4)
Please log in to answer
Posted by:
islander222
18 years ago
Posted by:
oreillyr
18 years ago
gave up on setACL and found the 2 keys that need full permissions.
Set them using lock permissions table but they did not stick.
I think thats why i went with setACL to begin with.
If i permission these keys manually all is good even after repair.
But now i need to know why permissions will not stick.
Is it because HKCR is a mix of both HKLM classes and HKCU classes?
Keys are HKCR\AutoCAD.Drawing.15
HKCR\CLSID\xxxxxxxx-xx-xxetc
Set them using lock permissions table but they did not stick.
I think thats why i went with setACL to begin with.
If i permission these keys manually all is good even after repair.
But now i need to know why permissions will not stick.
Is it because HKCR is a mix of both HKLM classes and HKCU classes?
Keys are HKCR\AutoCAD.Drawing.15
HKCR\CLSID\xxxxxxxx-xx-xxetc
Posted by:
MSIram
18 years ago
Posted by:
sikkert
18 years ago
oreillyr:
Yes, HKCR is a mix of both HKLM and HKCU.
Normal users don't have permission to write to the HKLM hive, so it could be that this key belongs in the HKLM hive, and not the HKCU hive.
Have you tried putting the registry keys in HKCU\Software\Classes hive in stead? This should merge with the HKLM\Software\Classes hive, to get the HKCR hive. I'm not the strongest on registry though, so this could create other problems.
Yes, HKCR is a mix of both HKLM and HKCU.
Normal users don't have permission to write to the HKLM hive, so it could be that this key belongs in the HKLM hive, and not the HKCU hive.
Have you tried putting the registry keys in HKCU\Software\Classes hive in stead? This should merge with the HKLM\Software\Classes hive, to get the HKCR hive. I'm not the strongest on registry though, so this could create other problems.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.