Skip to content

Commit

Permalink
windows installer stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
Spu7Nix committed Jan 7, 2021
1 parent d082a9e commit 47450d8
Show file tree
Hide file tree
Showing 4 changed files with 280 additions and 3 deletions.
2 changes: 1 addition & 1 deletion spwn-lang/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions spwn-lang/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "spwn-lang"
name = "spwn"
version = "0.1.0"
authors = ["Spu7Nix <[email protected]>"]
edition = "2018"
Expand All @@ -24,4 +24,6 @@ core-foundation-sys = "0.8.2"
libc = "0.2.81"

# [target.'cfg(target_os = "windows")'.dependencies]
# named_pipe = "0.4.1"
# named_pipe = "0.4.1"

# heat dir libraries -o wix/libraries.wxs -scom -frag -srd -sreg -gg -cg libraries -dr LIB_DIR -suid
66 changes: 66 additions & 0 deletions spwn-lang/wix/libraries.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>


<?if $(var.Platform) = x64 ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>


<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="LIB_DIR">
<Directory Id="gamescene" Name="gamescene" />
<Directory Id="std" Name="std" />
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="libraries">
<Component Id="lib.spwn" Directory="gamescene" Win64='$(var.Win64)' Guid="{93C2084D-FB32-4685-94DE-A2A3918B384D}">
<File Id="lib.spwn" KeyPath="yes" Source="libraries\gamescene\lib.spwn" />
</Component>
<Component Id="array.spwn" Directory="std" Win64='$(var.Win64)' Guid="{FC812848-8D60-4047-8475-2A1EFC997757}">
<File Id="array.spwn" KeyPath="yes" Source="libraries\std\array.spwn" />
</Component>
<Component Id="block.spwn" Directory="std" Win64='$(var.Win64)' Guid="{4F6E1920-1AEE-41F9-9610-2D0A782277D1}">
<File Id="block.spwn" KeyPath="yes" Source="libraries\std\block.spwn" />
</Component>
<Component Id="color.spwn" Directory="std" Win64='$(var.Win64)' Guid="{AAAABC51-99EC-4212-81E9-BCB88C380EC6}">
<File Id="color.spwn" KeyPath="yes" Source="libraries\std\color.spwn" />
</Component>
<Component Id="constants.spwn" Directory="std" Win64='$(var.Win64)' Guid="{A0D08FA0-59E8-4707-B714-5976F00F36E8}">
<File Id="constants.spwn" KeyPath="yes" Source="libraries\std\constants.spwn" />
</Component>
<Component Id="control_flow.spwn" Directory="std" Win64='$(var.Win64)' Guid="{EB45B03B-8F1B-43FD-A83B-7399F6D4E50E}">
<File Id="control_flow.spwn" KeyPath="yes" Source="libraries\std\control_flow.spwn" />
</Component>
<Component Id="counter.spwn" Directory="std" Win64='$(var.Win64)' Guid="{183C561F-7D9F-42C6-9B1A-DD982A38BA0D}">
<File Id="counter.spwn" KeyPath="yes" Source="libraries\std\counter.spwn" />
</Component>
<Component Id="events.spwn" Directory="std" Win64='$(var.Win64)' Guid="{23FBC369-8824-491D-985C-6772847D0DFE}">
<File Id="events.spwn" KeyPath="yes" Source="libraries\std\events.spwn" />
</Component>
<Component Id="fileio.spwn" Directory="std" Win64='$(var.Win64)' Guid="{FAC3D891-E851-49CE-A06C-04AF9EED3057}">
<File Id="fileio.spwn" KeyPath="yes" Source="libraries\std\fileio.spwn" />
</Component>
<Component Id="general_triggers.spwn" Directory="std" Win64='$(var.Win64)' Guid="{72C4811C-D589-42D2-A2D1-ED92689E721D}">
<File Id="general_triggers.spwn" KeyPath="yes" Source="libraries\std\general_triggers.spwn" />
</Component>
<Component Id="group.spwn" Directory="std" Win64='$(var.Win64)' Guid="{D0CB4DF3-8CF2-41A7-8934-83A80AFBB7D4}">
<File Id="group.spwn" KeyPath="yes" Source="libraries\std\group.spwn" />
</Component>
<Component Id="item.spwn" Directory="std" Win64='$(var.Win64)' Guid="{4E5CB2E4-4C38-4DD5-8017-AB953600155E}">
<File Id="item.spwn" KeyPath="yes" Source="libraries\std\item.spwn" />
</Component>
<Component Id="lib.spwn_1" Directory="std" Win64='$(var.Win64)' Guid="{28E262ED-A6D0-4160-9717-5D5B573939DB}">
<File Id="lib.spwn_1" KeyPath="yes" Source="libraries\std\lib.spwn" />
</Component>
<Component Id="util.spwn" Directory="std" Win64='$(var.Win64)' Guid="{10DD3DE1-58A3-48F1-A459-C24D2F4CC47D}">
<File Id="util.spwn" KeyPath="yes" Source="libraries\std\util.spwn" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
209 changes: 209 additions & 0 deletions spwn-lang/wix/main.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
<?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.
-->

<!--
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 $(var.Platform) = x64 ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>




<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>

<Product Id='*' Name='spwn' UpgradeCode='1890CFF1-7537-4D34-A49E-74B194D35006' Manufacturer='Spu7Nix' Language='1033'
Codepage='1252' Version='$(var.Version)'>

<Package Id='*' Keywords='Installer' Manufacturer='Spu7Nix' InstallerVersion='450' Languages='1033' Compressed='yes'
InstallScope='perMachine' SummaryCodepage='1252' Platform='$(var.Platform)' />

<MajorUpgrade Schedule='afterInstallInitialize'
DowngradeErrorMessage='A newer version of [ProductName] is already installed. Setup will now exit.' />

<Media Id='1' Cabinet='media1.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1' />
<Property Id='DiskPrompt' Value='spwn Installation' />


<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'>
<Directory Id='APPLICATIONFOLDER' Name='spwn'>

<!--
Enabling the license sidecar file in the installer is a four step process:
1. Uncomment the `Component` tag and its contents.
2. Change the value for the `Source` attribute in the `File` tag to a path
to the file that should be included as the license sidecar file. The path
can, and probably should be, relative to this file.
3. Change the value for the `Name` attribute in the `File` tag to the
desired name for the file when it is installed alongside the `bin` folder
in the installation directory. This can be omitted if the desired name is
the same as the file name.
4. Uncomment the `ComponentRef` tag with the Id attribute value of "License"
further down in this file.
-->
<!--
<Component Id='License' Guid='*' Win64='$(var.Win64)'>
<File Id='LicenseFile' Name='ChangeMe' DiskId='1' Source='C:\Path\To\File' KeyPath='yes'/>
</Component>
-->


<Component Id='Path' Guid='219B13D5-2811-43A4-89CA-E0AD28B5BEA9' Win64='$(var.Win64)' KeyPath='yes'>
<Environment Id='PATH' Name='PATH' Value='[Bin]' Permanent='no' Part='last' Action='set' System='yes' />
</Component>
<Component Id='binary0' Guid='*' Win64='$(var.Win64)'>
<File Id='exe0' Name='spwn.exe' DiskId='1' Source='target\$(var.Profile)\spwn.exe' KeyPath='yes' />
</Component>


<!-- this is incredibly stupid
i hate wix -->



<Directory Id="LIB_DIR" Name="libraries"/>











</Directory>
</Directory>
</Directory>



<Feature Id='Binaries' Title='Application' Description='Installs all binaries and the license.' Level='1'
ConfigurableDirectory='APPLICATIONFOLDER' AllowAdvertise='no' Display='expand' Absent='disallow'>

<!--
Uncomment the following `ComponentRef` tag to add the license
sidecar file to 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="Libraries" Level="1">

<ComponentGroupRef Id='libraries' />

</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='wix\Product.ico'/>-->
<!--<Property Id='ARPPRODUCTICON' Value='ProductICO' />-->


<!--
Adding a URL to Add/Remove Programs control panel listing for the
application is a two step process:
1. Uncomment the following `Property` tag with the "ARPHELPLINK" Id
attribute value.
2. Change the value for `Value` attribute of the following
`Property` tag to a valid URL.
-->
<!--<Property Id='ARPHELPLINK' Value='ChangeMe'/>-->

<UI>
<UIRef Id='WixUI_FeatureTree' />

<!--
Enabling the EULA dialog in the installer is a three step process:
1. Comment out or remove the two `Publish` tags that follow the
`WixVariable` tag.
2. Uncomment the `<WixVariable Id='WixUILicenseRtf' Value='Path\to\Eula.rft'>` tag futher down
3. Replace the `Value` attribute of the `WixVariable` tag with
the path to a RTF file that will be used as the EULA and
displayed in the license agreement dialog.
-->
<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>


<!--
Enabling the EULA dialog in the installer requires uncommenting
the following `WixUILicenseRTF` tag and changing the `Value`
attribute.
-->
<!-- <WixVariable Id='WixUILicenseRtf' Value='Relative\Path\to\Eula.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>

0 comments on commit 47450d8

Please sign in to comment.