mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-10-04 09:56:33 +08:00
158 lines
8.7 KiB
Django/Jinja
158 lines
8.7 KiB
Django/Jinja
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:fw="http://schemas.microsoft.com/wix/FirewallExtension">
|
|
<Product
|
|
Id="*"
|
|
Name="{{ app_name }}"
|
|
Language="1033"
|
|
Version="{{ version_major }}.{{ version_minor }}.{{ version_patch }}"
|
|
Manufacturer="{{ company }}"
|
|
UpgradeCode="{{ upgrade_code }}"
|
|
>
|
|
<Package InstallerVersion="500"
|
|
Compressed="yes"
|
|
InstallScope="perMachine"
|
|
Manufacturer="{{ company }}"
|
|
Description="UltiMaker Cura the most popular 3D printing slicer"
|
|
Keywords="UltiMaker,Cura,3D,printing,slicer"
|
|
Comments="Copyright (c) {{ year }} {{ company }}" />
|
|
|
|
<InstallExecuteSequence>
|
|
<RemoveExistingProducts Before="InstallInitialize" />
|
|
</InstallExecuteSequence>
|
|
|
|
<Property Id="PREVIOUS_VERSIONS_INSTALLED" Secure="yes" Value="{{ 1 if "Enterprise" in app_name else 0 }}" />
|
|
<Upgrade Id="{{ upgrade_code }}">
|
|
<UpgradeVersion
|
|
Minimum="4.13.2" Maximum="{{ version_major }}.{{ version_minor }}.{{ version_patch }}"
|
|
Property="PREVIOUS_VERSIONS_INSTALLED"
|
|
IncludeMinimum="no" IncludeMaximum="no"
|
|
/>
|
|
</Upgrade>
|
|
<!--TODO: handle copy of configuration of previous version-->
|
|
<!--TODO: handle removal of old configuration once previous version is uninstalled-->
|
|
|
|
{% if "Enterprise" in app_name %}
|
|
<Property Id="PREVIOUS_413_INSTALLED" Secure="yes" />
|
|
<Upgrade Id="53C603BB-2B17-4206-A609-29C2E0D0B0AE">
|
|
<UpgradeVersion
|
|
Minimum="1.0.0" Maximum="4.13.2"
|
|
Property="PREVIOUS_413_INSTALLED"
|
|
IncludeMinimum="yes" IncludeMaximum="yes"
|
|
/>
|
|
</Upgrade>
|
|
{% endif %}
|
|
|
|
<Condition Message= "OS must be Windows 8.1 64bit or higher.">
|
|
<![CDATA[Installed OR VersionNT64 >= 600]]>
|
|
</Condition>
|
|
|
|
<MediaTemplate EmbedCab="yes" CompressionLevel="high" />
|
|
|
|
<UI Id="MyWixUI_Mondo">
|
|
<UIRef Id="WixUI_Mondo" />
|
|
|
|
<DialogRef Id="CustomizeCuraDlg" />
|
|
|
|
<Publish Dialog="SetupTypeDlg" Control="CustomButton" Event="NewDialog" Value="CustomizeCuraDlg">1</Publish>
|
|
|
|
<Publish Dialog="CustomizeCuraDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="1">WixUI_InstallMode = "Change"</Publish>
|
|
<Publish Dialog="CustomizeCuraDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg" Order="2">WixUI_InstallMode = "InstallCustom"</Publish>
|
|
<Publish Dialog="CustomizeCuraDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
|
|
|
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeCuraDlg" Order="1">WixUI_InstallMode = "InstallCustom"</Publish>
|
|
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeCuraDlg" Order="3">WixUI_InstallMode = "Change"</Publish>
|
|
<Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="CustomizeCuraDlg">1</Publish>
|
|
|
|
</UI>
|
|
<UIRef Id="WixUI_ErrorProgressText" />
|
|
|
|
<WixVariable Id="WixUILicenseRtf" Value="{{ cura_license_file }}" />
|
|
<WixVariable Id="WixUIDialogBmp" Value="{{ cura_banner_side }}" />
|
|
<WixVariable Id="WixUIBannerBmp" Value="{{ cura_banner_top }}" />
|
|
|
|
<Icon Id="ICO_Cura" SourceFile="{{ cura_icon }}" />
|
|
<Property Id="ARPPRODUCTICON" Value="ICO_Cura" />
|
|
|
|
<!--Directory structure-->
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Directory Id="ProgramFiles64Folder">
|
|
<Directory Id="APPLICATIONFOLDER" Name="{{ app_name }} {{ version }}" />
|
|
<Directory Id="ProgramMenuFolder">
|
|
<Directory Id="ShortCutDir" Name="{{ app_name }}" />
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Property Id="ApplicationFolderName" Value="{{ app_name }} {{ version }}" />
|
|
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
|
|
|
|
<Component Id="CMP_UltiMaker_Cura_exe" Directory="APPLICATIONFOLDER" Guid="*">
|
|
<File Id="FILE_UltiMaker_Cura_exe" KeyPath="yes" Source="$(var.CuraDir)\{{ main_app }}"/>
|
|
<!--Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Extensions\windows.fileTypeAssociation\.3mf-->
|
|
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\{{ app_name }}\Capabilities\FileAssociations" Name=".3mf" Value="PRG_UltiMaker_Cura.3MF" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\{{ app_name }}\Capabilities\FileAssociations" Name=".stl" Value="PRG_UltiMaker_Cura.STL" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\{{ app_name }}\Capabilities\MIMEAssociations" Name="application/3mf" Value="PRG_UltiMaker_Cura.3MF" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\{{ app_name }}\Capabilities\MIMEAssociations" Name="application/stl" Value="PRG_UltiMaker_Cura.STL" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\{{ app_name }}\Capabilities\shell\Open\command" Value='"[APPLICATIONFOLDER]\{{ main_app }}" "%1"' Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\RegisteredApplications" Name="{{ app_name }}" Value="SOFTWARE\MyApp\Capabilities" Type="string" />
|
|
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Applications\{{ main_app }}\SupportedTypes" Name=".3mf" Value="" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Applications\{{ main_app }}\SupportedTypes" Name=".stl" Value="" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Applications\{{ main_app }}\shell\open" Name="{{ app_name }}" Value="{{ main_app }}" Type="string" />
|
|
|
|
<ProgId Id="PRG_UltiMaker_Cura.STL" Description="{{ app_name }}" Icon="FILE_UltiMaker_Cura_exe">
|
|
<Extension Id="STL">
|
|
<Verb Id='edit' TargetFile="FILE_UltiMaker_Cura_exe" Argument='"%1"' />
|
|
<MIME ContentType="application/stl" Default="yes" />
|
|
</Extension>
|
|
</ProgId>
|
|
<ProgId Id="PRG_UltiMaker_Cura.3MF" Description="{{ app_name }}" Icon="FILE_UltiMaker_Cura_exe">
|
|
<Extension Id="3MF">
|
|
<Verb Id='edit' TargetFile="FILE_UltiMaker_Cura_exe" Argument='"%1"' />
|
|
<MIME ContentType="application/3mf" Default="yes" />
|
|
</Extension>
|
|
</ProgId>
|
|
|
|
<!-- Current Cura versions are not supported on XP or Server 2003. Even so, add 'ignorefailure=yes'. After all, worst that can happen is the user gets asked, like before. -->
|
|
<fw:FirewallException Id="FirewallExceptLocalFrontend" Name="Cura (Frontend) Connection (LocalHost)" File="FILE_UltiMaker_Cura_exe" Port="127.0.0.1" IgnoreFailure="yes" Scope="localSubnet" />
|
|
</Component>
|
|
<Component Id="CMP_CuraEngine_exe" Directory="APPLICATIONFOLDER" Guid="*">
|
|
<File Id="FILE_CuraEngine_exe" KeyPath="yes" Source="$(var.CuraDir)\CuraEngine.exe" />
|
|
|
|
<!-- Current Cura versions are not supported on XP or Server 2003. Even so, add 'ignorefailure=yes'. After all, worst that can happen is the user gets asked, like before. -->
|
|
<fw:FirewallException Id="FirewallExceptLocalEngine" Name="CuraEngine (Backend) Connection (LocalHost)" File="FILE_CuraEngine_exe" Port="127.0.0.1" IgnoreFailure="yes" Scope="localSubnet" />
|
|
</Component>
|
|
|
|
<!--Shortcuts-->
|
|
<DirectoryRef Id="ShortCutDir">
|
|
<Component Id="CMP_Shortcuts" Guid="{{ shortcut_uuid }}">
|
|
<Shortcut Id="SHRT_Cura"
|
|
Name="{{ app_name }} {{ version }}"
|
|
Description="{{ app_name }} {{ version }}"
|
|
Target="[APPLICATIONFOLDER]\{{ main_app }}"
|
|
Icon="ICO_Cura" />
|
|
<Shortcut Id="SHRT_UninstallShortcut"
|
|
Name="Uninstall {{ app_name }} {{ version }}"
|
|
Description= "Uninstalls {{ app_name }} {{ version }}"
|
|
Target="[System64Folder]msiexec.exe"
|
|
Arguments="/x [ProductCode]" />
|
|
<RemoveFolder Id="RemoveMyShortcutsDir"
|
|
On="uninstall" />
|
|
<RegistryValue Root="HKCU"
|
|
Key="Software\{{ company }}\{{ app_name }}"
|
|
Name="installed"
|
|
Type="integer"
|
|
Value="1"
|
|
KeyPath="yes" />
|
|
</Component>
|
|
</DirectoryRef>
|
|
|
|
<Feature Id="ProductFeature" Title="{{ app_name }}" Level="1">
|
|
<ComponentRef Id="CMP_UltiMaker_Cura_exe" />
|
|
<ComponentRef Id="CMP_CuraEngine_exe" />
|
|
<ComponentGroupRef Id="NewFilesGroup" />
|
|
<ComponentRef Id="CMP_Shortcuts" />
|
|
</Feature>
|
|
</Product>
|
|
</Wix> |