New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pandoc-1.14.0.1-windows.msi fails to inform where it installs #2205
Comments
Could you try typing If you're under Windows 8.1, you may want to re-login before starting the command windows. |
See #1403 This is a frequent problem and I really wish someone could tell me how to tweak the wix setup so that the path adjustment would be recognized right away. Failing that, how to have it tell people where the binary is. I'm tempted to just start delivering a zip with the binary and a few docs. |
Pandoc is installed according to Control Panel. EDIT: NM I found the binaries in:
It is not added to my C:\Program Files (x86)\SCE\ORBIS\Tools\Target Manager Server\bin;E:\gnuplot\bin; |
@jgm I would be more comfortable with a simple zip blob I could download and place in E:\pandoc and manually add the PATH myself. Pandoc does not use any registry keys or such? Removing Pandoc from the harddrive would be as easy as removing E:\Pandoc and editing back the PATH variable. |
@hholst80 Which version of Windows are you on? As I mentioned earlier, you may need to re-login for the path changes take effect in the command window under Windows 8.1; under Windows 7, you need to just start a new command windows. It is usually installed under |
Windows 7 Enterprise. Build 7601: Service Pack 1. Edit: I did try and reboot the computer before I did the |
@hholst80 I've tested it under Windows 7 Pro only - where you simply have to close the current command window(s) and start a new one. Path (which defaults to the Pandoc folder user's AppData) will be reflected in the new one. I could test it under Enterprise version later. |
We're using AD (Active Directory) so some user settings might be tweaked by IT guys. %PATH% contents are shown here #2205 (comment) |
@hholst80 Ah, I wonder whether custom login script impacts the path. Could you show the path setting under a new command window? (Please remove any sensitive info). |
@jgm Would this help? https://www.firegiant.com/wix/tutorial/user-interface-revisited/customizations-galore/ I'll take look at the last suggestion as well #1403 |
I know that Windows issues stern warnings for software that +++ Henrik Holst [Jun 02 15 04:54 ]:
|
@jgm
I've tested it under Windows 8.1. References: Modification to the
pandoc.wxs <?xml version="1.0"?>
<?define UpgradeCode = "A68E8EF6-ABB1-4F22-A3C5-68DFDF0AB562" ?>
<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="200" Compressed="yes" InstallScope="perUser"
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>
<Property Id="ARPURLINFOABOUT" Value="http://johnmacfarlane.net/pandoc/" />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallFinalize"/>
</InstallExecuteSequence>
<Property Id="DISABLEADVTSHORTCUTS" Value="1" />
<CustomAction Id="SetPerUserFolder" Property="APPLICATIONFOLDER" Value="[LocalAppDataFolder]Pandoc" Execute="immediate" />
<CustomAction Id="SetPerMachineFolder" Property="APPLICATIONFOLDER" Value="[ProgramFilesFolder]Pandoc" Execute="immediate" />
<InstallExecuteSequence>
<Custom Action="SetPerUserFolder" Before="CostFinalize">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))</Custom>
<Custom Action="SetPerMachineFolder" After="SetPerUserFolder">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged))</Custom>
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="SetPerUserFolder" Before="CostFinalize">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))</Custom>
<Custom Action="SetPerMachineFolder" After="SetPerUserFolder">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged))</Custom>
</InstallUISequence>
<CustomActionRef Id="WixBroadcastSettingChange" />
<CustomActionRef Id="WixBroadcastEnvironmentChange" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<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="..\.cabal-sandbox\bin\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="..\.cabal-sandbox\bin\pandoc-citeproc.exe" />
</Component>
<Environment Id='UpdatePath' Name='PATH' Action='set' Permanent='no' System='no' Part='last' Value='[INSTALLDIR]' />
<Component Id="Documentation"
Guid="A8D54A76-1A3D-4647-8327-81B69D39D8A3">
<File Id="pandocREADME" Name="Pandoc User's Guide.html"
Source="..\README.html" KeyPath="yes">
<Shortcut Id="ApplicationStartMenuShortcut" Directory="ApplicationProgramsFolder"
Name="Pandoc User’s Guide" Advertise="yes" />
</File>
</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="UpdatePathUser" />
<ComponentRef Id="UpdatePathMachine" />
</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>
<Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" />
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<WixVariable Id="WixUILicenseRtf" Value="..\COPYING.rtf" />
</Product>
</Wix> |
Great - I'll try it. |
* Allow setting of installation path. * Use cleaner wix syntax for setting the path: https://www.firegiant.com/wix/tutorial/com-expression-syntax-miscellanea/environmentally-friendly/ * Show the user what changes, in a new command window. See #2205.
@nkalvi I finally got around to trying this. The build fails with:
I upgraded to the latest version of the WiX toolset, 3.9.1208.0. |
@jgm I apologize for not posting the version I tested. While the 'Environment' setting compiles fine with 3.9, WixBroadcastSettingChange will not. It looks like WixBroadcastSettingChange was added in v3.10.0.1519: https://www.facebook.com/wixtoolset/posts/953883604656918
The following compiles fine under WiX version 3.10.0.1726 and works as expected under Windows 8.1; please test it on your system: <?xml version="1.0"?>
<?define UpgradeCode = "A68E8EF6-ABB1-4F22-A3C5-68DFDF0AB562" ?>
<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="200" Compressed="yes" InstallScope="perUser"
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>
<Property Id="ARPURLINFOABOUT" Value="http://pandoc.org" />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallFinalize"/>
</InstallExecuteSequence>
<Property Id="DISABLEADVTSHORTCUTS" Value="1" />
<CustomAction Id="SetPerUserFolder" Property="APPLICATIONFOLDER" Value="[LocalAppDataFolder]Pandoc" Execute="immediate" />
<CustomAction Id="SetPerMachineFolder" Property="APPLICATIONFOLDER" Value="[ProgramFilesFolder]Pandoc" Execute="immediate" />
<InstallExecuteSequence>
<Custom Action="SetPerUserFolder" Before="CostFinalize">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))</Custom>
<Custom Action="SetPerMachineFolder" After="SetPerUserFolder">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged))</Custom>
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="SetPerUserFolder" Before="CostFinalize">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))</Custom>
<Custom Action="SetPerMachineFolder" After="SetPerUserFolder">ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged))</Custom>
</InstallUISequence>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<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="..\.cabal-sandbox\bin\pandoc.exe" />
<File Id="pandocCOPYRIGHT" Name="COPYRIGHT.txt"
Source="..\COPYRIGHT.txt" />
<File Id="pandocCOPYING" Name="COPYING.rtf"
Source="..\COPYING.rtf" />
<Environment Id='UpdatePath' Name='PATH' Action='set' Permanent='no' System='no' Part='last' Value='[APPLICATIONFOLDER]' />
</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="..\.cabal-sandbox\bin\pandoc-citeproc.exe" />
</Component>
<Component Id="Documentation"
Guid="A8D54A76-1A3D-4647-8327-81B69D39D8A3">
<File Id="pandocREADME" Name="Pandoc User's Guide.html"
Source="..\README.html" KeyPath="yes">
<Shortcut Id="ApplicationStartMenuShortcut" Directory="ApplicationProgramsFolder"
Name="Pandoc User’s Guide" Advertise="yes" />
</File>
</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" />
</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>
<CustomActionRef Id="WixBroadcastSettingChange" />
<CustomActionRef Id="WixBroadcastEnvironmentChange" />
<Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" />
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<WixVariable Id="WixUILicenseRtf" Value="..\COPYING.rtf" />
</Product>
</Wix> |
Where on earth do you get WiX version 3.10.0.1726? |
@nkalvi thanks for the help. I've got it working now. Some notes from my testing:
|
I'm glad to hear it is working.
|
+++ nkalvi [Jun 13 15 09:37 ]:
Yes, I think so. |
@jgm
I’ve tested this under Windows 7 & 8.1. References:
pandoc.wxs <?xml version="1.0"?>
<?define UpgradeCode = "A68E8EF6-ABB1-4F22-A3C5-68DFDF0AB562" ?>
<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="200" 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>
<Property Id="ARPURLINFOABOUT" Value="http://pandoc.org" />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallFinalize"/>
</InstallExecuteSequence>
<Property Id="DISABLEADVTSHORTCUTS" Value="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<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="..\.cabal-sandbox\bin\pandoc.exe" />
<File Id="pandocCOPYRIGHT" Name="COPYRIGHT.txt"
Source="..\COPYRIGHT.txt" />
<File Id="pandocCOPYING" Name="COPYING.rtf"
Source="..\COPYING.rtf" />
<Environment Id='UpdatePath' Name='PATH' Action='set' Permanent='no' System='no' Part='last' Value='[APPLICATIONFOLDER]' />
</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="..\.cabal-sandbox\bin\pandoc-citeproc.exe" />
</Component>
<Component Id="Documentation"
Guid="A8D54A76-1A3D-4647-8327-81B69D39D8A3">
<File Id="pandocREADME" Name="Pandoc User's Guide.html"
Source="..\README.html" KeyPath="yes">
<Shortcut Id="ApplicationStartMenuShortcut" Directory="ApplicationProgramsFolder"
Name="Pandoc User’s Guide" Advertise="yes" />
</File>
</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" />
</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>
<SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]"
After="CostFinalize" />
<CustomAction Id="SetExitDialogOptText"
Property="WIXUI_EXITDIALOGOPTIONALTEXT"
Value="[ProductName] was installed in [APPLICATIONFOLDER]. You may need to restart Cmd/Powershell windows before using it."
/>
<InstallUISequence>
<Custom Action="SetExitDialogOptText" Before="ExecuteAction">
NOT Installed
</Custom>
</InstallUISequence>
<CustomActionRef Id="WixBroadcastSettingChange" />
<CustomActionRef Id="WixBroadcastEnvironmentChange" />
<Property Id="ApplicationFolderName" Value="Pandoc" />
<Property Id="WixAppFolder" Value="WixPerUserFolder" />
<WixVariable Id="WixUILicenseRtf" Value="..\COPYING.rtf" />
<UI Id="MyWixUI_Advanced">
<UIRef Id="WixUI_Advanced" />
<UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="InstallScopeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="6">WixAppFolder = "WixPerUserFolder"</Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1"</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallScopeDlg" Order="11">WixAppFolder = "WixPerUserFolder"</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="12">WixAppFolder = "WixPerMachineFolder"</Publish>
</UI>
</Product>
</Wix> |
@nkalvi I haven't tried this myself, but Cesar Romani reports this on pandoc-discuss:
Any ideas? |
@jgm I'll look into it now. |
@jgm I'm getting the following error while trying to build the development version under Windows 8.1; I'm missing a step? I've updated pandoc-types.
|
@jgm Just posted a reply to Cesar on discuss; didn't get any errors. |
+++ nkalvi [Jun 28 15 17:04 ]:
No, I made some changes and didn't test with |
Thanks @jgm. When testing, I didn't get the 'unresolved symbol' error, but I got another error with the pandoc.wxs:
The one I posted (https://gist.github.com/nkalvi/738e8411f26ea6c2a6ba) works fine. |
Registry related error is gone now (tested under Windows 8.1 with WiX 3.10.0.1823). |
I was able to generate a working installer just now. |
I'm glad to hear that there weren't any glitches this time.
It was an indirect change due to WixUI_Advanced; this version sets the location to AppData\Local\Pandoc: https://gist.github.com/nkalvi/28553159cb92a363ea6b <CustomAction Id="CustomWixSetPerUserFolder" Property="APPLICATIONFOLDER" Value="[LocalAppDataFolder][ApplicationFolderName]" Execute="immediate" />
<InstallExecuteSequence>
<Custom Action="CustomWixSetPerUserFolder" After="WixSetPerUserFolder">
ACTION="INSTALL" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))
</Custom>
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="SetExitDialogOptText" Before="ExecuteAction">
NOT Installed
</Custom>
<Custom Action="CustomWixSetPerUserFolder" After="WixSetPerUserFolder">
ACTION="INSTALL" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged)))
</Custom>
</InstallUISequence> I have tested the change on my system. Reference (please take a look when you have time):
|
Thanks, I've pushed this change. |
I have just installed pandoc-1.14.0.1-windows.msi by double clicking on the installer. Where are the binaries installed?
The text was updated successfully, but these errors were encountered: