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

Reply via email to