Well it's the usual and required behavior for a per-user install to add
the entries to the current user's hive.  It's not particularly secure if
a per-user install adds system-wide COM registration so that anyone on
the system can use it. It's regsvr32 that's rather limited here because
it doesn't know if you intend a per-user or per-machine install
(although people have built regsvr programs that do). 

Phil Wilson 

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Levi
Wilson
Sent: Monday, February 12, 2007 1:28 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Heat and COM Registry Permissions



Hmm, all seems to be well if I set ALLUSERS=1 <grin />.  Apparently the
default of an MSI is a per-user installation.  So this isn't an issue
with heat or registry permissions at all, but user error.  Is this
typical in most installations where you have to explicitly set
ALLUSERS=1? 


On 2/12/07, Levi Wilson <[EMAIL PROTECTED]> wrote: 

        I have been using heat.exe to generate my version 3 information
for files.  For my COM objects, I noticed a strange behavior.  Heat.exe
seems to properly setup the registry keys that I need, but the
permissions on the CLSID\[my guid] keys differ than those that would be
set if I used regsvr32 on the same DLL.  Has anyone else experienced
this?  Here are the permissions that get setup for one of my
CLSID\[GUID] key that is associated with my COM object: 
        
        Name             Permission    Inherited From
        ------------         -------------------  ---------------------
        local\Admin      Full Control   CLASSES_ROOT\CLSID
        SYSTEM         Full Control   CLASSES_ROOT\CLSID 
        Administrators  Full Control   CLASSES_ROOT\CLSID
        RESTRICTED   Read            CLASSES_ROOT\CLSID
        
        When it is registered by regsvr32 I get the following:
        
        Name             Permission    Inherited From
        ------------         -------------------  --------------------
        Users               Read            Parent Object
        Power Users    Special         Parent Object
        local\Admin      Full Control   CLASSES_ROOT\CLSID
        SYSTEM         Full Control    CLASSES_ROOT\CLSID
        SYSTEM         Full Control    Parent Object
        Administrators  Full Control   CLASSES_ROOT\CLSID
        Administrators  Full Control   Parent Object
        CREATOR OWNER  Full Control  Parent Object
        
        What happens in my program, is when our service calls
CoCreateInstance on the COM object, it fails that that class is not
registered.  The service is running as local system.  However, when
instantiating a COM object from a process run as local\admin it works
fine.  Am I not setting something up properly? 
        
        


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to