[WiX-users] Why is this not registering the shortcuts as all-user ones? (fwd)
I messed up on the pasting, so here it is, fixed. I'm compiling my installer on WiX 3.0.4805. Here is the error(s) I get... C:\Documents and Settings\Curtis\Local Settings\Temp\perldist\wix_fragments\Icons.wxs(5) : error LGHT0204 : ICE38: Component C_S_CPAN_Client installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file. C:\Documents and Settings\Curtis\Local Settings\Temp\perldist\wix_fragments\Icons.wxs(5) : error LGHT0204 : ICE43: Component C_S_CPAN_Client has non-advertised shortcuts. It should use a registry key under HKCU as its KeyPath, not a file. Here's the component in question... ?xml version='1.0' encoding='windows-1252'? Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' Fragment Id='Fr_Icons' DirectoryRef Id='D_App_Menu' Component Id='C_S_CPAN_Client' Guid='DE7DA1DA-FE75-393C-AB1E-FF6E826BD2F9' Shortcut Id='S_CPAN_Client' Name='CPAN Client' Description='CPAN Client' Target='[D_38F7F36E_C5DC_36DA_897C_C13F6A817F9F]cpan.bat' WorkingDirectory='D_38F7F36E_C5DC_36DA_897C_C13F6A817F9F' / CreateFolder Directory=D_App_Menu / /Component ... (4 more of those) and here's the important parts of the main file, as far as I can tell... Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id='817ED352-A249-3288-AFD8-E5BCE106DD5D' Language='1033' Manufacturer=Vanilla Perl Project Name=Blueberry Perl UpgradeCode=3449E58D-5732-3BF6-BA27-EB22844C08AC Version=5.10.5 Package Description='Perl for Win32 operating systems.' Id='*' Comments='Debug Build.' InstallScope='perMachine' Platform='x86' InstallerVersion='200' Compressed='yes' InstallPrivileges='elevated' / Property Id='MsiLogging'voIcewarmupx!/Property ... Property Id=INSTALLDIRC:\blueberry/Property Directory Id='TARGETDIR' Name='SourceDir' Directory Id='INSTALLDIR' Directory Id='D_Perl' Name='perl' Directory Id='D_38F7F36E_C5DC_36DA_897C_C13F6A817F9F' Name='bin' / ... Directory Id='ProgramMenuFolder' Directory Id='D_App_Menu' Name='Blueberry Perl' / /Directory /Directory Feature Id='Complete' Title='Blueberry Perl 5.10.0.5 Beta 1' Description='The complete package.' Level='1' ... ComponentRef Id='C_S_CPAN_Client' / ... /Feature ... --- Package/@InstallScope='perMachine' should turn on ALLUSERS=1 and therefore, avoid those particular 2 ICE's, correct? If not, why not? I'm puzzled. --Curtis -- Curtis Jewell (Perl-programming e-mail) p...@csjewell.fastmail.us cur...@livejournal.comhttp://curtis.livejournal.com/ Your random numbers are not that random --perl5.8.8/util.c [I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail] -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Why is this not registering the shortcuts as all-user ones?
On Fri, 30 Jan 2009, Olivier Cochelin wrote about Re: [WiX-users] Why is...: MSI requires for each component a KeyPath to check if the component is here or not (when repairing an install for example). Typically a Keypath is a file, folder or registry key. If the component contains items that are user-specific the KeyPath must also be user-specific. So you can add something like the following to define a KeyPath for your component: RegistryValue Root=HKCU Key=Software\MyCompany\MyApplication Name=Installed Type=integer Value=1 KeyPath=yes/ Got that. The problem is the shortcuts aren't supposed to BE user-specific. It's supposed to be a per-machine installation. That's what InstallScope='perMachine' is supposed to set, as far as I can tell. Or am I missing something? And probably also something like that to remove your folder from the Start Menu on uninstall : RemoveFolder Id=D_App_Menu On=uninstall/ Had that, I just didn't include it in what I sent to the list. [The whole set of 90 .wxs files ends up over 1 MB in size.] --Curtis -- Curtis Jewell (Perl-programming e-mail) p...@csjewell.fastmail.us cur...@livejournal.comhttp://curtis.livejournal.com/ Your random numbers are not that random --perl5.8.8/util.c [I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail] -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Why is this not registering the shortcuts as all-user ones? (fwd)
On Fri, 30 Jan 2009, Bob Arnson wrote about Re: [WiX-users] Why is this not...: Curtis Jewell (Perl-programming e-mail) wrote: Package/@InstallScope='perMachine' should turn on ALLUSERS=1 and therefore, avoid those particular 2 ICE's, correct? If not, why not? I'm puzzled. Sadly, no. Because ALLUSERS is a public property, it can be reset at the command line. See http://robmensching.com/blog/posts/2007/4/27/How-to-create-an-uninstall-shortcut-and-pass-all-the for details/workaround. Fair enough. Could I deactivate the checks at the command line and it'd work? (I'll throw in a condition that kicks if they try to install if not ALLUSERS=1.) [I REALLY would like to avoid the registry if at all possible for this piece of software. It doesn't use it anywhere else.] -- Curtis Jewell (Perl-programming e-mail) p...@csjewell.fastmail.us cur...@livejournal.comhttp://curtis.livejournal.com/ Your random numbers are not that random --perl5.8.8/util.c [I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail] -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Why is this not registering the shortcuts as all-user ones? (fwd)
You could advertise the shortcut. That's most straight forward. Or you could ignore ICE69. I've considered doing so in the past... it is a very frustrating situation for cases that don't happen often. -Original Message- From: Curtis Jewell (Perl-programming e-mail) [mailto:lists.wix-us...@csjewell.fastmail.us] Sent: Friday, January 30, 2009 10:16 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Why is this not registering the shortcuts as all-user ones? (fwd) On Fri, 30 Jan 2009, Bob Arnson wrote about Re: [WiX-users] Why is this not...: Curtis Jewell (Perl-programming e-mail) wrote: Package/@InstallScope='perMachine' should turn on ALLUSERS=1 and therefore, avoid those particular 2 ICE's, correct? If not, why not? I'm puzzled. Sadly, no. Because ALLUSERS is a public property, it can be reset at the command line. See http://robmensching.com/blog/posts/2007/4/27/How-to-create-an-uninstall-shortcut-and-pass-all-the for details/workaround. Fair enough. Could I deactivate the checks at the command line and it'd work? (I'll throw in a condition that kicks if they try to install if not ALLUSERS=1.) [I REALLY would like to avoid the registry if at all possible for this piece of software. It doesn't use it anywhere else.] -- Curtis Jewell (Perl-programming e-mail) p...@csjewell.fastmail.us cur...@livejournal.comhttp://curtis.livejournal.com/ Your random numbers are not that random --perl5.8.8/util.c [I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail] -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users