-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
First attempt at getting wix build to work
- Loading branch information
Tom
committed
Mar 22, 2024
1 parent
c87d0b2
commit 6aeac50
Showing
8 changed files
with
347 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Deployment | ||
|
||
on: | ||
workflow_dispatch: | ||
release: | ||
types: | ||
- created | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
|
||
jobs: | ||
build-windows: | ||
permissions: write-all | ||
name: windows | ||
runs-on: windows-2019 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Update Libs | ||
run: cargo install cargo-wix | ||
- name: Build | ||
run: cd liquid-cad && cargo wix -p liquid-cad | ||
- name: Compress | ||
run: cd target/wix && ls && Compress-Archive *.msi liquid-cad.msi.zip | ||
- name: Upload | ||
uses: actions/upload-release-asset@v1.0.1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ github.event.release.upload_url }} | ||
asset_path: target/wix/liquid-cad.msi.zip | ||
asset_name: liquid-cad-windows_x86.msi.zip | ||
asset_content_type: binary |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf380 | ||
{\fonttbl\f0\fswiss\fcharset77 Helvetica;} | ||
{\colortbl;\red255\green255\blue255;} | ||
{\info | ||
{\*\company LiquidCAD}}\margl1440\margr1440\vieww9000\viewh8400\viewkind0 | ||
\deftab720 | ||
\pard\pardeftab720\sl380\ql\qnatural | ||
|
||
\f0\fs25\fsmilli12700 \cf0 NOTE: This is the MIT License.\ | ||
\ | ||
Copyright (c) 2024 Liquid CAD\ | ||
\ | ||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ | ||
\ | ||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ | ||
\ | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,269 @@ | ||
<?xml version='1.0' encoding='windows-1252'?> | ||
<!-- | ||
Copyright (C) 2017 Christopher R. Field. | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
--> | ||
|
||
<!-- | ||
The "cargo wix" subcommand provides a variety of predefined variables available | ||
for customization of this template. The values for each variable are set at | ||
installer creation time. The following variables are available: | ||
TargetTriple = The rustc target triple name. | ||
TargetEnv = The rustc target environment. This is typically either | ||
"msvc" or "gnu" depending on the toolchain downloaded and | ||
installed. | ||
TargetVendor = The rustc target vendor. This is typically "pc", but Rust | ||
does support other vendors, like "uwp". | ||
CargoTargetBinDir = The complete path to the binary (exe). The default would | ||
be "target\release\<BINARY_NAME>.exe" where | ||
"<BINARY_NAME>" is replaced with the name of each binary | ||
target defined in the package's manifest (Cargo.toml). If | ||
a different rustc target triple is used than the host, | ||
i.e. cross-compiling, then the default path would be | ||
"target\<CARGO_TARGET>\<CARGO_PROFILE>\<BINARY_NAME>.exe", | ||
where "<CARGO_TARGET>" is replaced with the "CargoTarget" | ||
variable value and "<CARGO_PROFILE>" is replaced with the | ||
value from the `CargoProfile` variable. | ||
CargoTargetDir = The path to the directory for the build artifacts, i.e. | ||
"target". | ||
CargoProfile = Either "debug" or `release` depending on the build | ||
profile. The default is "release". | ||
Version = The version for the installer. The default is the | ||
"Major.Minor.Fix" semantic versioning number of the Rust | ||
package. | ||
--> | ||
|
||
<!-- | ||
Please do not remove these pre-processor If-Else blocks. These are used with | ||
the `cargo wix` subcommand to automatically determine the installation | ||
destination for 32-bit versus 64-bit installers. Removal of these lines will | ||
cause installation errors. | ||
--> | ||
<?if $(sys.BUILDARCH) = x64 or $(sys.BUILDARCH) = arm64 ?> | ||
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?> | ||
<?else ?> | ||
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?> | ||
<?endif ?> | ||
|
||
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> | ||
|
||
<Product | ||
Id='*' | ||
Name='liquid-cad' | ||
UpgradeCode='1A58967B-4E4E-4C4C-A4A0-E162B36ACE74' | ||
Manufacturer='Liquid CAD' | ||
Language='1033' | ||
Codepage='1252' | ||
Version='$(var.Version)'> | ||
|
||
<Package Id='*' | ||
Keywords='Installer' | ||
Description='A 2.5D CAD program for rapid prototyping, written in rust.' | ||
Manufacturer='Liquid CAD' | ||
InstallerVersion='450' | ||
Languages='1033' | ||
Compressed='yes' | ||
InstallScope='perMachine' | ||
SummaryCodepage='1252' | ||
/> | ||
|
||
<MajorUpgrade | ||
Schedule='afterInstallInitialize' | ||
DowngradeErrorMessage='A newer version of [ProductName] is already installed. Setup will now exit.'/> | ||
|
||
<Icon Id='SetupIcon' SourceFile='..\assets\liquid_cad.ico'/> | ||
|
||
<Media Id='1' Cabinet='media1.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'/> | ||
<Property Id='DiskPrompt' Value='liquid-CAD Installation'/> | ||
|
||
<Directory Id='TARGETDIR' Name='SourceDir'> | ||
<Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'> | ||
<Directory Id='APPLICATIONFOLDER' Name='liquid-cad'> | ||
<!-- | ||
Disabling the license sidecar file in the installer is a two step process: | ||
1. Comment out or remove the `Component` tag along with its contents. | ||
2. Comment out or remove the `ComponentRef` tag with the "License" Id | ||
attribute value further down in this file. | ||
--> | ||
<Component Id='License' Guid='*'> | ||
<File Id='LicenseFile' | ||
Name='License.rtf' | ||
DiskId='1' | ||
Source='wix\License.rtf' | ||
KeyPath='yes'/> | ||
</Component> | ||
|
||
<Directory Id='Bin' Name='bin'> | ||
<Component Id='Path' Guid='8CBDE73E-95EA-44F2-B276-C8621A98423C' KeyPath='yes'> | ||
<Environment | ||
Id='PATH' | ||
Name='PATH' | ||
Value='[Bin]' | ||
Permanent='no' | ||
Part='last' | ||
Action='set' | ||
System='yes'/> | ||
</Component> | ||
<Component Id='binary0' Guid='*'> | ||
<File | ||
Id='exe0' | ||
Name='liquid-cad.exe' | ||
DiskId='1' | ||
Source='$(var.CargoTargetBinDir)\liquid-cad.exe' | ||
KeyPath='yes'/> | ||
</Component> | ||
</Directory> | ||
</Directory> | ||
</Directory> | ||
<Directory Id="ProgramMenuFolder"> | ||
<Directory Id="ApplicationProgramsFolder" Name="Liquid cad"/> | ||
</Directory> | ||
<Directory Id="DesktopFolder" Name="Desktop"> | ||
</Directory> </Directory> | ||
<DirectoryRef Id="ApplicationProgramsFolder"> | ||
<Component Id="AppStart" Guid="d5886d8d-009d-4468-9db3-1ebc72f7c201"> | ||
<Shortcut Id="AppStartShortcut" | ||
Name="Liquid CAD" | ||
Description="A 2.5D CAD program for rapid prototyping, written in rust." | ||
Target="[APPLICATIONFOLDER]bin\liquid-cad.exe" | ||
WorkingDirectory="APPLICATIONROOTDIRECTORY" | ||
Icon="SetupIcon"/> | ||
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/> | ||
<RegistryValue Root="HKCU" Key="Software\LiquidCAD" Name="StartShortcut" Type="integer" Value="1" KeyPath="yes"/> | ||
</Component> | ||
</DirectoryRef> | ||
|
||
<DirectoryRef Id="DesktopFolder"> | ||
<Component Id="AppDesk" Guid="e7261bca-c8c3-4f7f-be81-eb3a7470bc7d"> | ||
<Shortcut Id="AppDeskShortcut" | ||
Name="Liquid CAD" | ||
Description="A 2.5D CAD program for rapid prototyping, written in rust." | ||
Target="[APPLICATIONFOLDER]bin\liquid-cad.exe" | ||
WorkingDirectory="APPLICATIONROOTDIRECTORY" | ||
Icon="SetupIcon"/> | ||
<RemoveFolder Id="DesktopFolder" On="uninstall"/> | ||
<RegistryValue Root="HKCU" Key="Software\LiquidCAD" Name="DeskShortcut" Type="integer" Value="1" KeyPath="yes"/> | ||
</Component> | ||
</DirectoryRef> | ||
<Feature | ||
Id='Binaries' | ||
Title='Application' | ||
Description='Installs all binaries and the license.' | ||
Level='1' | ||
ConfigurableDirectory='APPLICATIONFOLDER' | ||
AllowAdvertise='no' | ||
Display='expand' | ||
Absent='disallow'> | ||
<!-- | ||
Comment out or remove the following `ComponentRef` tag to remove | ||
the license sidecar file from the installer. | ||
--> | ||
<ComponentRef Id='License'/> | ||
|
||
<ComponentRef Id='binary0'/> | ||
|
||
<Feature | ||
Id='Environment' | ||
Title='PATH Environment Variable' | ||
Description='Add the install location of the [ProductName] executable to the PATH system environment variable. This allows the [ProductName] executable to be called from any location.' | ||
Level='1' | ||
Absent='allow'> | ||
<ComponentRef Id='Path'/> | ||
</Feature> | ||
</Feature> | ||
|
||
<Feature | ||
Id='StartShort' | ||
Title='Start menu shortcut' | ||
Description='Add a shortcut to the start menu' | ||
Level='1' | ||
AllowAdvertise='no' | ||
Display='expand' | ||
Absent='disallow'> | ||
|
||
<ComponentRef Id="AppStart" /> | ||
</Feature> | ||
|
||
<Feature | ||
Id='DeskShort' | ||
Title='Desktop shortcut' | ||
Description='Add a shortcut to the desktop' | ||
Level='1' | ||
AllowAdvertise='no' | ||
Display='expand' | ||
Absent='disallow'> | ||
|
||
<ComponentRef Id="AppDesk" /> | ||
</Feature> | ||
|
||
<SetProperty Id='ARPINSTALLLOCATION' Value='[APPLICATIONFOLDER]' After='CostFinalize'/> | ||
|
||
|
||
<!-- | ||
Uncomment the following `Icon` and `Property` tags to change the product icon. | ||
The product icon is the graphic that appears in the Add/Remove | ||
Programs control panel for the application. | ||
--> | ||
<Icon Id='ProductICO' SourceFile='..\assets\liquid_cad.ico'/> | ||
|
||
<Property Id='ARPHELPLINK' Value='https://github.com/twitchyliquid64/liquid-cad'/> | ||
|
||
<UI> | ||
<UIRef Id='WixUI_FeatureTree'/> | ||
<!-- | ||
Disabling the EULA dialog in the installer is a two step process: | ||
1. Uncomment the following two `Publish` tags | ||
2. Comment out or remove the `<WiXVariable Id='WixUILicenseRtf'...` tag further down | ||
--> | ||
<!--<Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='CustomizeDlg' Order='99'>1</Publish>--> | ||
<!--<Publish Dialog='CustomizeDlg' Control='Back' Event='NewDialog' Value='WelcomeDlg' Order='99'>1</Publish>--> | ||
|
||
</UI> | ||
|
||
<!-- | ||
Disabling the EULA dialog in the installer requires commenting out | ||
or removing the following `WixVariable` tag | ||
--> | ||
<WixVariable Id='WixUILicenseRtf' Value='wix\License.rtf'/> | ||
|
||
|
||
<!-- | ||
Uncomment the next `WixVaraible` tag to customize the installer's | ||
Graphical User Interface (GUI) and add a custom banner image across | ||
the top of each screen. See the WiX Toolset documentation for details | ||
about customization. | ||
The banner BMP dimensions are 493 x 58 pixels. | ||
--> | ||
<!--<WixVariable Id='WixUIBannerBmp' Value='wix\Banner.bmp'/>--> | ||
|
||
|
||
<!-- | ||
Uncomment the next `WixVariable` tag to customize the installer's | ||
Graphical User Interface (GUI) and add a custom image to the first | ||
dialog, or screen. See the WiX Toolset documentation for details about | ||
customization. | ||
The dialog BMP dimensions are 493 x 312 pixels. | ||
--> | ||
<!--<WixVariable Id='WixUIDialogBmp' Value='wix\Dialog.bmp'/>--> | ||
|
||
</Product> | ||
|
||
</Wix> |