Hi,
I'm authoring an installer package that need to register a couple of DLLs in
the registry (traditionally done by regsvr32). I used heat.exe to generate the
proper WiX syntax for this (updated the component and file ID's afterwards):
<Component Id="C_ProcessingEngine_GPOWrapper"
Guid="2d079798-541e-4817-a4c9-616ab08987bc" DiskId="1">
<File Id="F_ProcessingEngine_GPOWrapper_Dll" Name="GPOWrapper.dll"
Source="GPOWrapper.dll" DiskId="1">
<TypeLib Id="{D8573CBF-FA94-4A49-8ED8-231D38352E9D}"
Description="GPOWrapper 1.0 Type Library" HelpDirectory="D_Components"
Language="0" MajorVersion="1" MinorVersion="0">
<AppId Description="GPOWrapper"
Id="{D8573CBF-FA94-4A49-8ED8-231D38352E9D}">
<Class Id="{4E647778-23B5-42E1-AA72-CF45AE8549D2}"
Context="InprocServer32" Description="CGPOForward Object"
ThreadingModel="apartment">
<ProgId Id="GPOWrapper.GPOForward.1" Description="CGPOForward Object">
<ProgId Id="GPOWrapper.GPOForward" Description="CGPOForward Object"
/>
</ProgId>
</Class>
</AppId>
</TypeLib>
</File>
<RegistryValue Key="AppID\GPOWrapper.DLL" Name="AppID"
Value="{D8573CBF-FA94-4A49-8ED8-231D38352E9D}" Type="string" Action="write" />
</Component>
This works fine except for one thing: once installed, the permissions on the
AppID, TypeLib and all "my" keys are wrong! Originally the permissions are
something like:
Administrators (Full control - inherited from HKCR)
CREATOR OWNER (Full control on subkeys only - inherited from HKCR)
SYSTEM (Full control - inherited from HKCR)
Power Users (Special - inherited from HKCR)
Users (Read - Inherited from HKCR)
After installing the package:
Administrator (Full control - not inherited) (the user, not the group)
System (Full control - not inherited)
Administrators (Full control - not inherited)
RESTRICTED (Read - not inherited)
This is the permissions applied to TypeLib and AppID (the system keys that are
there before installing) as well as to all the keys my application wants to
create. If I uninstall my package, permissions are reverted back to normal
again. Because of the error in the permissions, the users cant access the
registered component.
I read online that we should not use TypeLib element
(http://msdn2.microsoft.com/en-us/library/bb204770(VS.85).aspx), but instead
use the Registry element, but that results in the same thing! Am I doing
something wrong here? Is there something wrong with the servers I'm testing on
(yes, I have tried several servers)? I'm running the installation as
Administrator so I'm guessing that is why the Administrator user account ends
up in the permission list after installation.
Any tips are appreciated.
Regards,
Arild
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users