Hi,
Quick question. Do you install the app "For all users"? You can du this by
setting the property "ALLUSERS" to 1. This ensures that the COM registry keys
are registered under the HKCR part that is under HKLM and not under HKCU.
Remember, the HKCR key is a "logical" key that is a combination of the
HKLM\Software\Classes and HKCU\Software\Classes keys. When installing without
the ALLUSERS property set to 1 (you should set it to 1 and not 2 to ensure that
everything is registered under HKLM - the value 2 means that HKLM is preffered,
but the install will fall-back to HKCU if the installing user is not
privileged).
I had the same problem last week when I had not set the ALLUSERS property at
all, which means that it defaults to the current user only. You can read about
the ALLUSERS property in the MSI documentation.
Regards,
Arild
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul McLaughlin
Sent: 26. februar 2008 20:59
To: WiX Users
Subject: [WiX-users] Cannot create COM components when installed under Vista
There are several parts to this issue, so I will try to be as clear as possible
with each part.
PROBLEM SUMMARY:
The goal is to install an ActiveX component on a client system (it is strictly
for OLE automation, no UI) and have some JavaScript create it and use methods
on it. It works just fine under Windows XP, but not under Vista.
FAILURE ANALYSIS:
It appears that the .msi package creates the registry keys for the ActiveX
component with insufficient user privileges. Specifically, if I open up
RegEdit.EXE and right-click and choose "Permissions..." on any one of the
registry keys created for the component, I see my exact user name from my
company's network domain. For example, "Paul McLaughlin
(<MyCompanyName>\paulm)". Any time I see my name specifically in the list like
this, the control cannot be created from JavaScript under Vista using "new
ActiveXObject()" as you will see below in the source. Again, XP seems to be OK
with this.
MANUAL FIX:
In order to get the component created in JavaScript under Vista, after install
I have to manually remove the keys from the registry that the .msi created and
manually add them again. I do this by some exported Windows Registry .REG
files that contain the exact same entries and I just double-click on them from
Explorer to put them back. After I do this, and then I right-click on any one
of these registry keys in RegEdit.EXE, I do NOT see my name in the
"Permissions..." dialog, but rather my LOCAL MACHINE's "Users" group. For
example, "Users (LowRiderDevVista\Users)". When this is the case, the
JavaScript is able to create an instance of the COM component and the
JavaScript works!
Obviously, I want Windows Installer via WiX to register the component and have
it all work under Vista as well as XP.
Here are my sources (partial):
WIX:
...
<File Id="AXM" Name="MSI_AXM.dll" DiskId="1" Source="MSI_AXM.dll" Vital="yes" >
<TypeLib Id="46A6400B-39E2-4C7F-8BCC-B701E43C6404" Language="0"
MajorVersion="1" MinorVersion="0" Description="iShip, Inc. - ActiveXManager 1.0
Type Library" HelpDirectory="INSTALLDIR">
<Class Id="4392B188-CBA7-4CA8-A24F-31B378B3F4B5"
Context="InprocServer32" Programmable="yes" ThreadingModel="apartment"
Description="MSI.AXM" >
<ProgId Id="MSI.AXM.1" >
<ProgId Id="MSI.AXM" />
</ProgId>
</Class>
<Interface Id="068BEF68-2AD3-4E79-87FD-2870B7B8DFC7" Name="IAXM"
ProxyStubClassId="00020424-0000-0000-C000-000000000046"
ProxyStubClassId32="00020424-0000-0000-C000-000000000046" />
</TypeLib>
</File>
...
JavaScript from an .HTA web application file that is installed.
var oAXM = new ActiveXObject("MSI.AXM.1"); // Will throw() if it cannot be
created.
oAXM.Test();
I have also tried setting the Package/InstallPrivileges attribute to "limited"
to see if for some reason that helped, but it made no difference. I do not see
any other items in the WiX documentation that might suggest other privilege
settings for Vista or install for that matter.
I am using WiX build 3.0.2925.
Thank you for any information about this issue you might have.
-Paul
________________________________
Need to know the score, the latest news, or you need your Hotmail(r)-get your
"fix". Check it out.<http://www.msnmobilefix.com/Default.aspx>
-------------------------------------------------------------------------
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