diff options
Diffstat (limited to 'UVtools.Installer/Code')
-rw-r--r-- | UVtools.Installer/Code/Features.wxs | 17 | ||||
-rw-r--r-- | UVtools.Installer/Code/IISMeta.wxs | 32 | ||||
-rw-r--r-- | UVtools.Installer/Code/Product.wxs | 27 | ||||
-rw-r--r-- | UVtools.Installer/Code/UI-CustomDialog.wxs | 64 | ||||
-rw-r--r-- | UVtools.Installer/Code/UI.wxs | 14 |
5 files changed, 154 insertions, 0 deletions
diff --git a/UVtools.Installer/Code/Features.wxs b/UVtools.Installer/Code/Features.wxs new file mode 100644 index 0000000..a0c923f --- /dev/null +++ b/UVtools.Installer/Code/Features.wxs @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <Directory Id="TARGETDIR" Name="SourceDir"> + <Directory Id="ProgramFilesFolder"> + <Directory Id="INSTALLLOCATION" Name="UVtools"> + <Merge Id="UVtools" SourceFile="$(var.UVtools.InstallerMM.TargetPath)" DiskId="1" Language="1033" /> + </Directory> + </Directory> + </Directory> + <Feature Id="UVtools" Title="UVtools" Description="Installs all the files needed for UVtools" Level="1" AllowAdvertise="no" ConfigurableDirectory="INSTALLLOCATION"> + <MergeRef Id="UVtools" /> + <!-- Uncomment the below line to pull in IIS Metadata. Otherwise delete if not needed --> + <!--<ComponentGroupRef Id="webSite" />--> + </Feature> + </Fragment> +</Wix>
\ No newline at end of file diff --git a/UVtools.Installer/Code/IISMeta.wxs b/UVtools.Installer/Code/IISMeta.wxs new file mode 100644 index 0000000..6126b81 --- /dev/null +++ b/UVtools.Installer/Code/IISMeta.wxs @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"> + <Fragment> + + <ComponentGroup Id="webSite"> + <ComponentRef Id="webSite" /> + </ComponentGroup> + + <PropertyRef Id="NETFRAMEWORK45" /> + <PropertyRef Id="IISMAJORVERSION" /> + <Property Id="ASPNETINSTALLED"> + <RegistrySearch Id="findASPNETINSTALLED" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp\Components" Name="ASPNET" Type="raw" /> + </Property> + <Condition Message="[ProductName] requires Microsoft .NET Framework 4.5.">Installed OR NETFRAMEWORK45</Condition> + <Condition Message="[ProductName] requires Microsoft IIS">Installed OR IISMAJORVERSION</Condition> + <Condition Message="[ProductName] requires the ASP.NET role service for IIS">Installed OR ASPNETINSTALLED="#1"</Condition> + + <DirectoryRef Id="INSTALLLOCATION"> + <Directory Id="webSite" Name="WebSite"> + <Component Id="webSite" Guid="b118a1b9-8c4e-44b3-bf42-1501163c8bee" KeyPath="yes"> + <iis:WebAppPool Id="webSite" Name="UVtools.Installer" Identity="applicationPoolIdentity" ManagedRuntimeVersion="v4.0" ManagedPipelineMode="Integrated"/> + <iis:WebSite Id="webSite" SiteId="*" Description="UVtools.Installer Web Site" Directory="webSite" ConfigureIfExists="no"> + <iis:WebAddress Id="webSite" Port="8080" /> + <iis:WebDirProperties Id="webSite" AnonymousAccess="yes" WindowsAuthentication="no" /> + <iis:WebApplication Id="webSite" WebAppPool="webSite" Name="webSite" /> + </iis:WebSite> + </Component> + </Directory> + </DirectoryRef> + + </Fragment> +</Wix>
\ No newline at end of file diff --git a/UVtools.Installer/Code/Product.wxs b/UVtools.Installer/Code/Product.wxs new file mode 100644 index 0000000..9425f4e --- /dev/null +++ b/UVtools.Installer/Code/Product.wxs @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <!-- + MSIProductVersion is defined in UVtools.Installer.wixproj as 0.0.1 for local desktop builds. + You should pass in the MSBuild Property 'MSIProductVersion' to override it during an automated build. + See http://msdn.microsoft.com/en-us/library/windows/desktop/aa370859%28v=vs.85%29.aspx for information on allowable values. + + The Product@Id attribute (ProductCode Property) will be a random GUID for each build. This is to support "Major Upgrades" where each install + is a seamless uninstall/reinstall. + --> + <Product Id="*" Name="UVtools" Language="1033" Version="$(var.MSIProductVersion)" Manufacturer="PTRTECH" UpgradeCode="1ea6d212-15c0-425e-b2ec-4b6c60817552"> + <Package InstallerVersion="301" Compressed="yes" InstallScope="perMachine" /> + <MediaTemplate EmbedCab="yes" /> + <!-- Major Upgrade Rule to disallow downgrades --> + <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> + <!--Common Launch Condition--> + <!-- Examples at http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html --> + <PropertyRef Id="NETFRAMEWORK45" /> + <Condition Message="[ProductName] requires .NET Framework 4.8.">Installed OR NETFRAMEWORK45</Condition> + <!-- Include User Interface Experience --> + <Icon Id="Icon.ico" SourceFile="..\UVtools.GUI\UVtools.ico" /> + <Property Id="ARPPRODUCTICON" Value="Icon.ico"></Property> + <UIRef Id="UI" /> + <!-- Include Features and Directories Fragment --> + <DirectoryRef Id="INSTALLLOCATION" /> + </Product> +</Wix>
\ No newline at end of file diff --git a/UVtools.Installer/Code/UI-CustomDialog.wxs b/UVtools.Installer/Code/UI-CustomDialog.wxs new file mode 100644 index 0000000..1a9cfc3 --- /dev/null +++ b/UVtools.Installer/Code/UI-CustomDialog.wxs @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <UI Id="CustomDlg"> + <Dialog Id="CustomDlg" Height="270" Width="370" Title="[ProductName] Setup"> + + <!-- Header --> + <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" Text="WixUI_Bmp_Banner"/> + <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Text="{\WixUI_Font_Title}Custom Dialog" Transparent="yes"/> + <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Text="Place your custom description here" Transparent="yes"/> + <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0"/> + + <!-- Body --> + <Control Id="CustomLabel" Type="Text" X="20" Y="60" Width="290" Height="15" Text="Customer:" TabSkip="yes"/> + <Control Id="Custom" Type="Edit" X="20" Y="80" Width="320" Height="18" Property="CUSTOM"/> + + + <!-- Footer --> + <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0"/> + <Control Id="Next" Type="PushButton" Text="&Next" TabSkip="no" Default="yes" Height="17" Width="56" X="236" Y="243"> + <Publish Event="NewDialog" Value="CustomizeDlg"/> + </Control> + <Control Id="Cancel" Type="PushButton" Text="Cancel" TabSkip="no" Height="17" Width="56" X="304" Y="243" Cancel="yes"> + <Publish Event="SpawnDialog" Value="CancelDlg"/> + </Control> + <Control Id="Back" Type="PushButton" Text="&Back" TabSkip="no" Height="17" Width="56" X="180" Y="243"> + <Publish Event="NewDialog" Value="LicenseAgreementDlg"/> + </Control> + + </Dialog> + + <!-- Insert into dialog sequencing by inserting control events on previous and next dialogs--> + <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="CustomDlg">1</Publish> + <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="CustomDlg" Order="3">NOT Installed</Publish> + + </UI> + + <!-- Make Property a SecureCustom Property--> + <Property Id="CUSTOM" Secure="yes"/> + + <!-- Note: You must author a registry component somewhere in your installer to persist the property for later retrieval + Example: + ... + <Component Id='RememberCustom' Guid='{????????-????-????-????-????????????}' KeyPath='yes' Permanent='yes'> + <RegistryValue Root='HKLM' Key='SOFTWARE\CompanyName\ProductName' Name='Custom' Type='string' Value='[CUSTOM]'/> + </Component> + ... + --> + + <!-- Attempt to retrieve previously persisted property --> + <Property Id='FINDCUSTOM' Secure='yes'> + <RegistrySearch Id='CustomerNumber' Root='HKLM' + Key='SOFTWARE\CompanyName\ProductName' + Name='Custom' Type='raw' /> + </Property> + + <!-- Assign default value if retrieval failed --> + <SetProperty Id='FINDCUSTOM' Value='default value' After='AppSearch' Sequence='first'>Not FINDCUSTOM</SetProperty> + + <!-- Assign retrieved / defaulted value to actual property if it doesn't already have a value --> + <SetProperty Id='CUSTOM' Value='[FINDCUSTOM]' After='SetFINDCUSTOM' Sequence='first'>Not CUSTOM</SetProperty> + + </Fragment> +</Wix>
\ No newline at end of file diff --git a/UVtools.Installer/Code/UI.wxs b/UVtools.Installer/Code/UI.wxs new file mode 100644 index 0000000..6bafab2 --- /dev/null +++ b/UVtools.Installer/Code/UI.wxs @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + <Fragment> + <UI Id="UI"> + + <!-- See http://wix.sourceforge.net/manual-wix3/WixUI_index.htm for more information--> + <UIRef Id="WixUI_FeatureTree"/> + + <!--Uncomment to inject a custom dialog into the install wizard loop --> + <!--<UIRef Id="CustomDlg"/>--> + + </UI> + </Fragment> +</Wix>
\ No newline at end of file |