I've got a project that is building fine with WiX 3.0.2925.0.  I want to
update it to 3.0.3907 and but have hit some errors that I could use some
help to work around:

Error 1

WiX source:
<Component Id="Group0DeskTopShortcut"
Guid="B44A939F-5189-4B47-93E6-C013BC4DAAF1" DiskId="5">
  <Shortcut Id="MainExecutableDesktop" Directory="DesktopFolder"
Name="!(loc.ProductName)" WorkingDirectory="INSTALLLOCATION"
Icon="winmine.exe" IconIndex="0" Advertise="no"
Target="[DESKTOPSHORTCUTTARGETID]" />
  <RegistryKey Id="DesktopShortcutRegistryRegistry" Root="HKCU"
Key="Software\Electronic Arts\Installer Test Application"
Action="createAndRemoveOnUninstall" />
  <Condition>CREATEDESKTOPSHORTCUTS = 1</Condition>
</Component>

Output from Light:
ApplicationFiles-neutral.wxs(297) : error LGHT0204 : ICE18: KeyPath for
Component: 'Group0DeskTopShortcut' is Directory: 'INSTALLLOCATION'. The
Directory/Component pair must be listed in the CreateFolders table.

ApplicationFiles-neutral.wxs(297) : error LGHT0204 : ICE43: Component
Group0DeskTopShortcut has non-advertised shortcuts. It should use a
registry key under HKCU as its KeyPath, not a file.

ApplicationFiles-neutral.wxs(297) : error LGHT0204 : ICE57: Component
'Group0DeskTopShortcut' has both per-user and per-machine data with a
per-machine KeyPath

Error 2
WiX source:
<Component Id="RemoveShortcutFolders"
Guid='$(var.RemoveShortcutFoldersGUID)' >
  <RemoveFolder Id="ProgramMenuGameDir" Directory="ProgramMenuDir"
On="uninstall" />
  <RemoveFolder Id="ProgramMenuVendor" Directory="PROGRAMMENUSTUDIO"
On="uninstall" />
  <RegistryKey Id='ProgramMenuRegistry' Root='HKCU'
Key='Software\$(var.Studio)\$(var.ProductName)'
Action='createAndRemoveOnUninstall'/>
</Component>

Output from Light:
StandardInstallTemplate.wxs(84) : error LGHT0204 : ICE38: Component
RemoveShortcutFolders installs to user profile. It must use a registry
key under HKCU as its KeyPath, not a file.

I've looked at ICE38 in the Windows Installer documentation, but it's
not clear how I'm supposed to fix this in WiX.

ICE38 error:
Component Component1 installs to user profile. It must use a registry
key under HKCU as its KeyPath, not a file.

Description:
The value of the attributes column of Component1 is 0, meaning that the
component must use a file as its KeyPath. This causes difficulties when
multiple users install the component on the same computer. 
To fix this error on Component1, set the RegistryKeyPath bit in the
Attributes column of the Component table and change the entry in the
KeyPath column to a value listed in the Registry column of the Registry
table.

Again, this worked with Wix build 2905, so either the consistency
checking has become stricter in 3907 or the syntax for describing these
WiX components has changed (or both) between those two builds.

Help anyone?


-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to