diff options
Diffstat (limited to 'windows')
-rw-r--r-- | windows/AdvancedWelcomeEulaDlg_Custom.wxs | 90 | ||||
-rw-r--r-- | windows/Pandoc-en-us.wxl | 14 | ||||
-rw-r--r-- | windows/WixUI_Advanced_Custom.wxs | 142 | ||||
-rw-r--r-- | windows/make-windows-installer.bat | 29 | ||||
-rw-r--r-- | windows/pandoc.wxs | 188 |
5 files changed, 463 insertions, 0 deletions
diff --git a/windows/AdvancedWelcomeEulaDlg_Custom.wxs b/windows/AdvancedWelcomeEulaDlg_Custom.wxs new file mode 100644 index 000000000..61e6d8e00 --- /dev/null +++ b/windows/AdvancedWelcomeEulaDlg_Custom.wxs @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + <copyright file="AdvancedWelcomeEulaDlg.wxs" company="Outercurve Foundation"> + Copyright (c) 2004, Outercurve Foundation. + This software is released under Microsoft Reciprocal License (MS-RL). + The license and further copyright text can be found in the file + LICENSE.TXT at the root directory of the distribution. + </copyright> +--> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <UI> + <Dialog Id="AdvancedWelcomeEulaDlg_Custom" Width="370" Height="270" Title="!(loc.AdvancedWelcomeEulaDlg_Title)"> + + <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.AdvancedWelcomeEulaDlgBannerBitmap)" /> + <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" /> + <Control Id="Title" Type="Text" X="20" Y="10" Width="300" Height="24" Transparent="yes" NoPrefix="yes" Text="!(loc.AdvancedWelcomeEulaDlgTitle)" /> + + <Control Id="LicenseAcceptedCheckBox" Type="CheckBox" X="20" Y="140" Width="226" Height="19" CheckBoxValue="1" Property="LicenseAccepted" Text="!(loc.WelcomeEulaDlgLicenseAcceptedCheckBox)" /> + + <Control Id="ScopeGroupBox" Type="GroupBox" X="20" Y="155" Height="70" Width="330" /> + + <Control Id="AllUsersCheckBox" Type="CheckBox" X="88" Y="200" Width="226" Height="18" CheckBoxValue="1" Property="ALLUSERS" Text="!(loc.InstallScopeDlgPerMachine)"> + <Condition Action="enable">LicenseAccepted AND (WixUISupportPerUser = 1)</Condition> + <Condition Action="disable">(NOT LicenseAccepted) OR (WixUISupportPerUser = 0)</Condition> + </Control> + + <Control Id="PerUserDescription" Type="Text" X="30" Y="167" Width="300" Height="36" NoPrefix="yes" Text="!(loc.InstallScopeDlgPerUserDescription)"> + <Condition Action="hide">ALLUSERS</Condition> + <Condition Action="show">NOT (ALLUSERS = 1)</Condition> + <Condition Action="disable">NOT LicenseAccepted</Condition> + <Condition Action="enable">LicenseAccepted</Condition> + </Control> + + <Control Id="PerMachineDescription" Type="Text" X="30" Y="167" Width="300" Height="36" Hidden="yes" NoPrefix="yes" Text="!(loc.InstallScopeDlgPerMachineDescription)"> + <Condition Action="hide">NOT (ALLUSERS = 1)</Condition> + <Condition Action="show">ALLUSERS = 1</Condition> + <Condition Action="disable">NOT LicenseAccepted</Condition> + <Condition Action="enable">LicenseAccepted</Condition> + </Control> + + <Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)"> + <Publish Event="DoAction" Value="WixUIPrintEula">1</Publish> + </Control> + + <Control Id="Advanced" Type="PushButton" X="156" Y="243" Width="56" Height="17" Text="!(loc.AdvancedWelcomeEulaDlgAdvanced)"> + <Condition Action="disable">NOT LicenseAccepted OR NOT (ALLUSERS = 1)</Condition> + <Condition Action="enable">(LicenseAccepted = "1") AND (ALLUSERS = 1)</Condition> + </Control> + + <Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.AdvancedWelcomeEulaDlgInstall)" Hidden="yes"> + <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish> + <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish> + <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish> + <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish> + <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish> + <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish> + <Condition Action="disable">NOT LicenseAccepted</Condition> + <Condition Action="enable">LicenseAccepted = "1"</Condition> + <Condition Action="show">ALLUSERS = 1</Condition> + <Condition Action="hide">NOT (ALLUSERS = 1)</Condition> + </Control> + <Control Id="InstallNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.AdvancedWelcomeEulaDlgInstall)" Hidden="yes"> + <Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish> + <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish> + <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish> + <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish> + <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish> + <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish> + <Condition Action="disable">NOT LicenseAccepted</Condition> + <Condition Action="enable">LicenseAccepted = "1"</Condition> + <Condition Action="show">NOT (ALLUSERS = 1)</Condition> + <Condition Action="hide">ALLUSERS = 1</Condition> + </Control> + + <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)"> + <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish> + </Control> + <Control Id="LicenseText" Type="ScrollableText" X="20" Y="55" Width="330" Height="80" Sunken="yes" TabSkip="no"> + <!--<Text SourceFile="!(wix.WixUILicenseRtf=$(var.licenseRtf))" />--> + <Text SourceFile="!(loc.LicenseRtf)" /> + </Control> + </Dialog> + </UI> + + <InstallUISequence> + <Show Dialog="AdvancedWelcomeEulaDlg_Custom" Before="ProgressDlg">NOT Installed</Show> + </InstallUISequence> + </Fragment> +</Wix>
\ No newline at end of file diff --git a/windows/Pandoc-en-us.wxl b/windows/Pandoc-en-us.wxl new file mode 100644 index 000000000..1981f24e8 --- /dev/null +++ b/windows/Pandoc-en-us.wxl @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<WixLocalization Culture="en-us" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization"> + <String Id="Language">1033</String> + <!-- Supported language and codepage codes can be found here: http://www.tramontana.co.hu/wix/lesson2.php#2.4 --> + + <String Id="LicenseRtf" Overridable="yes">COPYING.rtf</String> + + <String Id="ExitDialogText">[ProductName] was installed in + +[APPLICATIONFOLDER]. + +You may need to restart Cmd/Powershell windows before using it.</String> + +</WixLocalization>
\ No newline at end of file diff --git a/windows/WixUI_Advanced_Custom.wxs b/windows/WixUI_Advanced_Custom.wxs new file mode 100644 index 000000000..6f85d9961 --- /dev/null +++ b/windows/WixUI_Advanced_Custom.wxs @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?if $(sys.BUILDARCH)=x64?> +<?define ProgFilesFolder="ProgramFiles64Folder"?> +<?else?> +<?define ProgFilesFolder="ProgramFilesFolder"?> +<?endif?> +<!-- + <copyright file="WixUI_Advanced_Custom.wxs" company="Outercurve Foundation"> + Copyright (c) 2004, Outercurve Foundation. + This software is released under Microsoft Reciprocal License (MS-RL). + The license and further copyright text can be found in the file + LICENSE.TXT at the root directory of the distribution. + </copyright> +--> + +<!-- +WixUI_Advanced_Custom offers a two-click install (EULA checkbox and Install button) +and offers an Advanced button that lets users choose per-machine or per-user +installs, install path, and features. + +WiX variables used: + - WixUISupportPerMachine + - WixUISupportPerUser + +Todo: + - Clicking Install doesn't work! - APPLICATIONFOLDER isn't set; need to accept another "incoming" property. + - Replace this dialog set UI fragment with the UI extension. + = This set is still in active development. + = Future releases are likely to be incompatible. + = Future releases are likely to be much easier to use. + = Use at your own risk. + +--> + +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <WixVariable Id="WixUISupportPerUser" Value="1" Overridable="yes" /> + <WixVariable Id="WixUISupportPerMachine" Value="1" Overridable="yes" /> + + <PropertyRef Id="ApplicationFolderName" /> + + <CustomAction Id="WixSetDefaultPerUserFolder2" Property="WixPerUserFolder" Value="[LocalAppDataFolder][ApplicationFolderName]" Execute="immediate" /> + <CustomAction Id="WixSetDefaultPerMachineFolder2" Property="WixPerMachineFolder" Value="[$(var.ProgFilesFolder)][ApplicationFolderName]" Execute="immediate" /> + <CustomAction Id="WixSetPerUserFolder2" Property="APPLICATIONFOLDER" Value="[WixPerUserFolder]" Execute="immediate" /> + <CustomAction Id="WixSetPerMachineFolder2" Property="APPLICATIONFOLDER" Value="[WixPerMachineFolder]" Execute="immediate" /> + + <InstallExecuteSequence> + <Custom Action="WixSetDefaultPerUserFolder2" Before="CostFinalize" /> + <Custom Action="WixSetDefaultPerMachineFolder2" After="WixSetDefaultPerUserFolder2" /> + <Custom Action="WixSetPerUserFolder2" After="WixSetDefaultPerMachineFolder2">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))</Custom> + <Custom Action="WixSetPerMachineFolder2" After="WixSetPerUserFolder2">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged))</Custom> + </InstallExecuteSequence> + <InstallUISequence> + <Custom Action="WixSetDefaultPerUserFolder2" Before="CostFinalize" /> + <Custom Action="WixSetDefaultPerMachineFolder2" After="WixSetDefaultPerUserFolder2" /> + <Custom Action="WixSetPerUserFolder2" After="WixSetDefaultPerMachineFolder2">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))</Custom> + <Custom Action="WixSetPerMachineFolder2" After="WixSetPerUserFolder2">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged))</Custom> + </InstallUISequence> + + <UI Id="WixUI_Advanced_Custom"> + <TextStyle Id="WixUI_Font_Normal" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Normal_Size)" /> + <TextStyle Id="WixUI_Font_Bigger" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Bigger_Size)" /> + <TextStyle Id="WixUI_Font_Title" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Title_Size)" Bold="yes" /> + <TextStyle Id="WixUI_Font_Emphasized" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Emphasized_Size)" Bold="yes" /> + + <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> + <Property Id="WixUI_Mode" Value="Advanced" /> + + <DialogRef Id="BrowseDlg" /> + <DialogRef Id="DiskCostDlg" /> + <DialogRef Id="ErrorDlg" /> + <DialogRef Id="FatalError" /> + <DialogRef Id="FilesInUse" /> + <DialogRef Id="MsiRMFilesInUse" /> + <DialogRef Id="PrepareDlg" /> + <DialogRef Id="ProgressDlg" /> + <DialogRef Id="ResumeDlg" /> + <DialogRef Id="UserExit" /> + <DialogRef Id="WelcomeDlg"/> + + <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> + + <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="1">1</Publish> + <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="2"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish> + + <!--<Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="Advanced" Event="NewDialog" Value="InstallScopeDlg" Order="1">!(wix.WixUISupportPerMachine) AND !(wix.WixUISupportPerUser)</Publish>--> + <!--<Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="Advanced" Event="NewDialog" Value="FeaturesDlg" Order="2">NOT !(wix.WixUISupportPerMachine)</Publish>--> + <!--<Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="Advanced" Event="NewDialog" Value="InstallDirDlg" Order="3">!(wix.WixUISupportPerMachine) AND NOT !(wix.WixUISupportPerUser)</Publish>--> + + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="Advanced" Property="WixAppFolder" Value="WixPerMachineFolder" Order="1">ALLUSERS = 1</Publish> + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="Advanced" Property="APPLICATIONFOLDER" Value="[$(var.ProgFilesFolder)][ApplicationFolderName]" Order="2">ALLUSERS = 1</Publish> + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="Advanced" Event="NewDialog" Value="InstallDirDlg" Order="3">!(wix.WixUISupportPerMachine) AND !(wix.WixUISupportPerUser)</Publish> + + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="AllUsersCheckBox" Property="WixAppFolder" Value="WixPerMachineFolder" Order="1">ALLUSERS = 1</Publish> + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="AllUsersCheckBox" Property="APPLICATIONFOLDER" Value="[$(var.ProgFilesFolder)][ApplicationFolderName]" Order="2">ALLUSERS = 1</Publish> + + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="AllUsersCheckBox" Property="WixAppFolder" Value="WixPerUserFolder" Order="1">NOT (ALLUSERS = 1)</Publish> + <Publish Dialog="AdvancedWelcomeEulaDlg_Custom" Control="AllUsersCheckBox" Property="APPLICATIONFOLDER" Value="[LocalAppDataFolder][ApplicationFolderName]" Order="2">NOT (ALLUSERS = 1)</Publish> + + <!--<Publish Dialog="InstallScopeDlg" Control="Back" Event="NewDialog" Value="AdvancedWelcomeEulaDlg_Custom">1</Publish>--> + <!-- override default WixAppFolder of WixPerMachineFolder as standard user won't be shown the radio group to set WixAppFolder --> + + <!--<Publish Dialog="InstallScopeDlg" Control="Next" Property="WixAppFolder" Value="WixPerUserFolder" Order="1">!(wix.WixUISupportPerUser) AND NOT Privileged</Publish>--> + + + + <!--<Publish Dialog="InstallScopeDlg" Control="Next" Event="NewDialog" Value="FeaturesDlg" Order="6">WixAppFolder = "WixPerUserFolder"</Publish> + <Publish Dialog="InstallScopeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="7">WixAppFolder = "WixPerMachineFolder"</Publish>--> + + <!--<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="InstallScopeDlg">!(wix.WixUISupportPerUser)</Publish>--> + <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="AdvancedWelcomeEulaDlg_Custom">1</Publish> + <Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish> + <Publish Dialog="InstallDirDlg" Control="Next" Event="DoAction" Value="WixUIValidatePath" Order="2">NOT WIXUI_DONTVALIDATEPATH</Publish> + <Publish Dialog="InstallDirDlg" Control="Next" Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish> + <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish> + <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish> + <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish> + + <!--<Publish Dialog="FeaturesDlg" Control="Back" Event="NewDialog" Value="InstallScopeDlg">NOT Installed AND WixAppFolder = "WixPerUserFolder"</Publish>--> + <Publish Dialog="FeaturesDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg">NOT Installed AND WixAppFolder = "WixPerMachineFolder"</Publish> + <Publish Dialog="FeaturesDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">Installed</Publish> + + <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish> + + <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> + <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> + <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish> + + <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish> + <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3">Installed AND PATCH</Publish> + + <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish> + </UI> + + <InstallUISequence> + <Show Dialog="WelcomeDlg" Before="AdvancedWelcomeEulaDlg_Custom" >Installed AND PATCH</Show> + </InstallUISequence> + + <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" /> + <UIRef Id="WixUI_Common" /> + </Fragment> +</Wix>
\ No newline at end of file diff --git a/windows/make-windows-installer.bat b/windows/make-windows-installer.bat new file mode 100644 index 000000000..1517e9bf9 --- /dev/null +++ b/windows/make-windows-installer.bat @@ -0,0 +1,29 @@ +@echo off
+stack install --test --stack-yaml=..\stack.pkg.yml
+if %errorlevel% neq 0 exit /b %errorlevel%
+for /f "delims=" %%a in ('stack path --local-bin-path') do @set BINPATH=%%a
+%BINPATH%\pandoc.exe -s --toc ..\MANUAL.txt -o MANUAL.html
+if %errorlevel% neq 0 exit /b %errorlevel%
+%BINPATH%\pandoc.exe -s ..\COPYING.md -t rtf -o COPYING.rtf
+if %errorlevel% neq 0 exit /b %errorlevel%
+copy ..\COPYRIGHT COPYRIGHT.txt
+for /f "tokens=1-2 delims= " %%a in ('%BINPATH%\pandoc.exe --version') do (
+ @set VERSION=%%b
+ goto :next
+ )
+:next
+if "%VERSION%" == "" (
+ echo Error: could not determine version number.
+ exit /b 1
+)
+echo Detected version %VERSION%
+echo Creating msi...
+candle -dVERSION=%VERSION% -dBINPATH=%BINPATH% *.wxs -out wixobj\
+if %errorlevel% neq 0 exit /b %errorlevel%
+light -sw1076 -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc Pandoc-en-us.wxl -out pandoc-%VERSION%-windows.msi wixobj\*.wixobj
+if %errorlevel% neq 0 exit /b %errorlevel%
+echo Starting kSign: sign, then quit kSign to complete the build...
+kSign
+
+echo Copying to shared drive
+copy pandoc-%VERSION%-windows.msi \\VBOXSVR\WindowsShared\
diff --git a/windows/pandoc.wxs b/windows/pandoc.wxs new file mode 100644 index 000000000..dcdd3f582 --- /dev/null +++ b/windows/pandoc.wxs @@ -0,0 +1,188 @@ +<?define UpgradeCode = "A68E8EF6-ABB1-4F22-A3C5-68DFDF0AB562" ?> +<?if $(sys.BUILDARCH)=x64?> +<?define ProgFilesFolder="ProgramFiles64Folder"?> +<?else?> +<?define ProgFilesFolder="ProgramFilesFolder"?> +<?endif?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Product Id="*" + UpgradeCode="$(var.UpgradeCode)" Name="Pandoc $(var.VERSION)" + Version="$(var.VERSION)" Manufacturer="John MacFarlane" + Language="1033"> + + <Package InstallerVersion="301" Compressed="yes" + Comments="Windows Installer Package" /> + <Media Id="1" Cabinet="product.cab" EmbedCab="yes" /> + <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" /> + <Upgrade Id="$(var.UpgradeCode)"> + <UpgradeVersion Property='PREVIOUSVERSIONSINSTALLED' + Minimum='0.0.0.0' IncludeMinimum='yes' + Maximum="99.0.0.0" IncludeMaximum="no" /> + </Upgrade> + + <InstallExecuteSequence> + <RemoveExistingProducts After="InstallFinalize"/> + </InstallExecuteSequence> + + <Property Id="DISABLEADVTSHORTCUTS" Value="1" /> + + <Directory Id="TARGETDIR" Name="SourceDir"> + + <Directory Id="$(var.ProgFilesFolder)"> + <Directory Id="APPLICATIONFOLDER" Name="Pandoc"> + <Component Id="MainExecutable" + Guid="ECD35082-4C28-49E1-977E-B90FC7C400C7"> + <RegistryValue Root="HKMU" + Key="Software\John MacFarlane\Pandoc" + Name="Version" Type="string" Value="[ProductVersion]" + KeyPath="yes"/> + <RemoveFolder Id="APPLICATIONFOLDER" On="uninstall"/> + <File Id="pandocEXE" Name="pandoc.exe" + Source="$(var.BINPATH)\pandoc.exe" /> + <File Id="pandocCOPYRIGHT" Name="COPYRIGHT.txt" + Source="COPYRIGHT.txt" /> + <File Id="pandocCOPYING" Name="COPYING.rtf" + Source="COPYING.rtf" /> + </Component> + + <Component Id="CitationSupport" + Guid="0A214839-2E69-4026-8DBB-0F0A9DB75C12"> + <RegistryValue Root="HKMU" + Key="Software\John MacFarlane\Pandoc" + Name="Version" Type="string" Value="[ProductVersion]" + KeyPath="yes"/> + <File Id="pandoc_citeprocEXE" Name="pandoc-citeproc.exe" + Source="$(var.BINPATH)\pandoc-citeproc.exe" /> + </Component> + + <Component Id="Documentation" + Guid="A8D54A76-1A3D-4647-8327-81B69D39D8A3"> + <File Id="pandocMANUAL" Name="Pandoc User's Guide.html" + Source="MANUAL.html" KeyPath="yes"> + <Shortcut Id="ApplicationStartMenuShortcut" + Directory="ApplicationProgramsFolder" + Name="Pandoc User’s Guide" Advertise="yes" /> + </File> + </Component> + + + <Component Id="UpdateUserPath" + Guid="7ECEAD05-CA5C-4147-82CB-F7CADABAC7F3" + KeyPath="yes"> + <Condition>ALLUSERS = "" OR ALLUSERS = 2</Condition> + <Environment Id='SetUserPath' Name='PATH' Action='set' + Permanent='no' System='no' Part='last' + Value='[APPLICATIONFOLDER]' /> + </Component> + + <Component Id="UpdateSystemPath" + Guid="F8AC4135-C0AE-48C7-BAC5-311DAC97CFD8" + KeyPath="yes"> + <Condition>ALLUSERS = 1</Condition> + <Environment Id='SetSystemPath' Name='PATH' Action='set' + Permanent='no' System='yes' Part='last' + Value='[APPLICATIONFOLDER]' /> + </Component> + + </Directory> + </Directory> + + <Directory Id="ProgramMenuFolder"> + <Directory Id="ApplicationProgramsFolder" Name="Pandoc"> + <Component Id="ApplicationShortcut" + Guid="7F807DD5-CC54-474A-B571-89630893F563"> + <RemoveFolder Id="ApplicationProgramsFolder" + On="uninstall"/> + <RegistryValue Root="HKMU" Key="Software\John MacFarlane\Pandoc" + Name="ShortcutInstalled" Type="integer" Value="1" + KeyPath="yes"/> + </Component> + </Directory> + </Directory> + + </Directory> + + <Feature Id="Complete" Level="1" Title="Pandoc $(var.VERSION)" + Description="Complete package" Display="expand" + ConfigurableDirectory="APPLICATIONFOLDER"> + <Feature Id="MainProgram" + Title="Program" + Description="The main executable." + Level="1"> + <ComponentRef Id="MainExecutable" /> + <ComponentRef Id="UpdateUserPath" /> + <ComponentRef Id="UpdateSystemPath" /> + </Feature> + <Feature Id="Manual" Title="Manual"> + <ComponentRef Id="Documentation" /> + <ComponentRef Id="ApplicationShortcut" /> + </Feature> + <Feature Id="Citation" Title="Citation Support" + Description="Citation support."> + <ComponentRef Id="CitationSupport" /> + </Feature> + </Feature> + + + <!-- Set properties for add/remove programs --> + <Property Id="ARPURLINFOABOUT" Value="http://pandoc.org" /> + <Property Id="ARPHELPLINK" Value="http://pandoc.org" /> + <Property Id="ARPNOREPAIR" Value="yes" Secure="yes" /> <!-- Remove repair --> + <Property Id="ARPNOMODIFY" Value="yes" Secure="yes" /> <!-- Remove modify --> + + + <!--Needed for WixUI_Advanced--> + <Property Id="ApplicationFolderName" Value="Pandoc" /> + <Property Id="WixAppFolder" Value="WixPerUserFolder" /> + + <!--For Single Package for dual purpose i.e. per User/Machine--> + <!--<Property Id="ALLUSERS" Value="2" Secure="yes" />--> + <Property Id="MSIINSTALLPERUSER" Value="1" /> + + <!--Inform about installed location--> + <SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]" + After="CostFinalize" /> + <CustomAction Id="SetExitDialogOptText" + Property="WIXUI_EXITDIALOGOPTIONALTEXT" + Value="!(loc.ExitDialogText)" /> + + <!--Offer Per User installs only on workstations (block on servers)--> + <!--Unless ALLUSERS=1 is specified on command line--> + <SetProperty Id="WixUISupportPerUser" Value="0" Before="FindRelatedProducts"> + <!--https://msdn.microsoft.com/en-us/library/windows/desktop/aa370329(v=vs.85).aspx--> + MsiNTProductType > 1 + </SetProperty> + <SetProperty Id="WixUISupportPerUser" Value="1" Before="FindRelatedProducts" Action="CASupportPerUser"> + MsiNTProductType = 1 + </SetProperty> + <SetProperty Id="ALLUSERS" Value="1" Before="FindRelatedProducts"> + MsiNTProductType > 1 + </SetProperty> + <SetProperty Id="ALLUSERS" Value="{}" Before="FindRelatedProducts" Action="CASetPuaPackage"> + (NOT ALLUSERS = 1) AND MsiNTProductType = 1 + </SetProperty> + <SetProperty Id="MSIINSTALLPERUSER" Value="1" Before="FindRelatedProducts"> + (NOT ALLUSERS = 1) AND MsiNTProductType = 1 + </SetProperty> + <SetProperty Id="WixAppFolder" Value="WixPerMachineFolder" Before="FindRelatedProducts"> + MsiNTProductType > 1 + </SetProperty> + + <!--Make changes to PATH visible immeidiately--> + <CustomActionRef Id="WixBroadcastSettingChange" /> + <CustomActionRef Id="WixBroadcastEnvironmentChange" /> + + <InstallUISequence> + <Custom Action="SetExitDialogOptText" Before="ExecuteAction"> + NOT Installed + </Custom> + </InstallUISequence> + + <UIRef Id="WixUI_Advanced_Custom"/> + <!--Enable better description when debug logging--> + <UIRef Id="WixUI_ErrorProgressText" /> + + </Product> + + +</Wix> |