doublecmd.wxs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?xml version="1.0"?>
  2. <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  3. <?define ProductName="Double Commander" ?>
  4. <?define UpgradeCode="D220A081-E26D-4ECD-B399-EFEB4D6678EA" ?>
  5. <Product
  6. Id="*"
  7. UpgradeCode="$(var.UpgradeCode)"
  8. Name="$(var.ProductName)"
  9. Version="$(var.ProductVersion)"
  10. Manufacturer="Alexander Koblov"
  11. Language="1033">
  12. <Package InstallerVersion="200" Compressed="yes" />
  13. <Media Id="1" Cabinet="product.cab" EmbedCab="yes"/>
  14. <Icon Id="ProductIcon" SourceFile="doublecmd.ico"/>
  15. <Property Id="ARPPRODUCTICON" Value="ProductIcon"/>
  16. <Property Id="ARPURLINFOABOUT" Value="https://doublecmd.sourceforge.io"/>
  17. <Property Id="ARPNOREPAIR" Value="1"/>
  18. <Upgrade Id="$(var.UpgradeCode)">
  19. <UpgradeVersion Minimum="$(var.ProductVersion)" OnlyDetect="yes" Property="NEWERVERSIONDETECTED"/>
  20. <UpgradeVersion Minimum="0.0.0" Maximum="$(var.ProductVersion)" IncludeMinimum="yes" IncludeMaximum="no"
  21. Property="OLDERVERSIONBEINGUPGRADED"/>
  22. </Upgrade>
  23. <Condition Message="A newer version of this software is already installed.">NOT NEWERVERSIONDETECTED</Condition>
  24. <Directory Id="TARGETDIR" Name="SourceDir">
  25. <Directory Id="$(var.ProgramFiles)">
  26. <Directory Id="APPLICATIONFOLDER" Name="$(var.ProductName)">
  27. </Directory>
  28. </Directory>
  29. <Directory Id="ProgramMenuFolder">
  30. <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)">
  31. <Component Id="ApplicationShortcut" Guid="BA37DDBD-5F67-4BA5-B5B8-01B3998E5BDE">
  32. <Shortcut
  33. Id="Shortcut"
  34. Name="$(var.ProductName)"
  35. Description="$(var.ProductName)"
  36. Target="[APPLICATIONFOLDER]doublecmd.exe"
  37. WorkingDirectory="APPLICATIONFOLDER"/>
  38. <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
  39. <RegistryValue Root="HKCU" Key="Software\$(var.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  40. </Component>
  41. </Directory>
  42. </Directory>
  43. <Directory Id="DesktopFolder" Name="Desktop">
  44. <Component Id="ApplicationShortcutDesktop" Guid="*">
  45. <Shortcut
  46. Id="ApplicationDesktopShortcut"
  47. Name="$(var.ProductName)"
  48. Description="$(var.ProductName)"
  49. Target="[APPLICATIONFOLDER]doublecmd.exe"
  50. WorkingDirectory="APPLICATIONFOLDER"/>
  51. <RemoveFolder Id="DesktopFolder" On="uninstall"/>
  52. <RegistryValue Root="HKCU" Key="Software\$(var.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  53. </Component>
  54. </Directory>
  55. </Directory>
  56. <CustomAction
  57. Id="Overwrite_WixSetDefaultPerMachineFolder"
  58. Property="WixPerMachineFolder"
  59. Value="[$(var.ProgramFiles)][ApplicationFolderName]"
  60. Execute="immediate" />
  61. <InstallUISequence>
  62. <Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />
  63. </InstallUISequence>
  64. <InstallExecuteSequence>
  65. <RemoveExistingProducts After="InstallValidate"/>
  66. <Custom Action="Overwrite_WixSetDefaultPerMachineFolder" After="WixSetDefaultPerMachineFolder" />
  67. </InstallExecuteSequence>
  68. <Feature Id="DefaultFeature" Level="1" Display="hidden">
  69. <ComponentGroupRef Id="HeatGroup"/>
  70. </Feature>
  71. <Feature Id="ApplicationShortcut" Level="1" Title="Start Menu shortcut">
  72. <ComponentRef Id="ApplicationShortcut" />
  73. </Feature>
  74. <Feature Id="ApplicationShortcutDesktop" Level="1" Title="Desktop shortcut" TypicalDefault="advertise">
  75. <ComponentRef Id="ApplicationShortcutDesktop" />
  76. </Feature>
  77. <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
  78. <Property Id="ApplicationFolderName" Value="$(var.ProductName)" />
  79. <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
  80. <Property Id="ALLUSERS" Secure="yes" Value="2" />
  81. <Property Id="MSIINSTALLPERUSER" Secure="yes" Value="{}" />
  82. <UI>
  83. <UIRef Id="WixUI_Advanced" />
  84. <Publish Dialog="InstallScopeDlg" Control="Next" Property="MSIINSTALLPERUSER" Value="1" Order="3">WixAppFolder = "WixPerUserFolder"</Publish>
  85. <Publish Dialog="InstallScopeDlg" Control="Next" Property="MSIINSTALLPERUSER" Value="{}" Order="2">WixAppFolder = "WixPerMachineFolder"</Publish>
  86. </UI>
  87. </Product>
  88. </Wix>