Skip to content

Commit

Permalink
add - Added installer bundles
Browse files Browse the repository at this point in the history
---

We've finally added the installer bundles! It's now truly a one-file
installer in an .EXE format.

---

Type: add
Breaking: False
Doc Required: False
Backport Required: False
Part: 1/1
  • Loading branch information
AptiviCEO committed Jan 21, 2025
1 parent fc9fcfb commit 3766ba4
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 9 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-rel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: installer-x64-msi
path: "public/Nitrocid.Installers/Nitrocid.Installer/bin/x64/Release/en-US"
path: "public/Nitrocid.Installers/Nitrocid.InstallerBundle/bin/x64/Release"

wix-arm64:
strategy:
Expand All @@ -83,5 +83,5 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: installer-arm64-msi
path: "public/Nitrocid.Installers/Nitrocid.Installer/bin/ARM64/Release/en-US"
path: "public/Nitrocid.Installers/Nitrocid.InstallerBundle/bin/ARM64/Release"

4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: installer-x64-msi
path: "public/Nitrocid.Installers/Nitrocid.Installer/bin/x64/Debug/en-US"
path: "public/Nitrocid.Installers/Nitrocid.InstallerBundle/bin/x64/Debug"

wix-arm64:
strategy:
Expand All @@ -83,5 +83,5 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: installer-arm64-msi
path: "public/Nitrocid.Installers/Nitrocid.Installer/bin/ARM64/Debug/en-US"
path: "public/Nitrocid.Installers/Nitrocid.InstallerBundle/bin/ARM64/Debug"

7 changes: 4 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ jobs:
cd tools ; cmd.exe /c "docgen-pack.cmd" ; cd ..
dotnet build -p:Configuration=Release -p:Platform=x64 public/Nitrocid.Installers/Nitrocid.Installer.sln
dotnet build -p:Configuration=Release -p:Platform=ARM64 public/Nitrocid.Installers/Nitrocid.Installer.sln
"%ProgramFiles%\7-Zip\7z.exe" a -tzip tools/Nitrocid-Win-Installer-x64.zip "public\Nitrocid.Installers\Nitrocid.Installer\bin\x64\Release\en-US\*"
"%ProgramFiles%\7-Zip\7z.exe" a -tzip tools/Nitrocid-Win-Installer-ARM64.zip "public\Nitrocid.Installers\Nitrocid.Installer\bin\ARM64\Release\en-US\*"
Move-Item public/Nitrocid.Installers/Nitrocid.InstallerBundle/bin/x64/Release/Nitrocid.InstallerBundle.exe tools/nitrocid-win-x64-installer.exe
Move-Item public/Nitrocid.Installers/Nitrocid.InstallerBundle/bin/ARM64/Release/Nitrocid.InstallerBundle.exe tools/nitrocid-win-arm64-installer.exe
- name: Release Preparation
id: release-asset
shell: bash
Expand All @@ -43,6 +43,7 @@ jobs:
cat CHANGES >> "$GITHUB_OUTPUT"
powershell 'Get-FileHash -Algorithm sha256 tools/*.zip | % {"- " + $_.Hash + " " + (Resolve-Path -Path $_.Path -Relative)}' >> "$GITHUB_OUTPUT"
powershell 'Get-FileHash -Algorithm sha256 tools/*-changes.chg | % {"- " + $_.Hash + " " + (Resolve-Path -Path $_.Path -Relative)}' >> "$GITHUB_OUTPUT"
powershell 'Get-FileHash -Algorithm sha256 tools/*.exe | % {"- " + $_.Hash + " " + (Resolve-Path -Path $_.Path -Relative)}' >> "$GITHUB_OUTPUT"
echo 'EOF' >> "$GITHUB_OUTPUT"
- name: Binary Attestation (binaries)
uses: actions/attest-build-provenance@v1
Expand All @@ -56,7 +57,7 @@ jobs:
files: |
tools/*.zip
tools/*-changes.chg
*.iso
tools/*.exe
- name: Notify build
uses: tsickert/[email protected]
with:
Expand Down
16 changes: 15 additions & 1 deletion public/Nitrocid.Installers/Nitrocid.Installer.sln
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35707.178 d17.12
VisualStudioVersion = 17.12.35707.178
MinimumVisualStudioVersion = 10.0.40219.1
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Nitrocid.Installer", "Nitrocid.Installer\Nitrocid.Installer.wixproj", "{C2867504-4F9E-4FE2-B07C-C37E69E66791}"
EndProject
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Nitrocid.InstallerBundle", "Nitrocid.InstallerBundle\Nitrocid.InstallerBundle.wixproj", "{B0BF5A1F-5634-48D9-A186-65F0F64555F5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
Expand All @@ -27,6 +29,18 @@ Global
{C2867504-4F9E-4FE2-B07C-C37E69E66791}.Release|x64.Build.0 = Release|x64
{C2867504-4F9E-4FE2-B07C-C37E69E66791}.Release|x86.ActiveCfg = Release|x86
{C2867504-4F9E-4FE2-B07C-C37E69E66791}.Release|x86.Build.0 = Release|x86
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Debug|ARM64.ActiveCfg = Debug|ARM64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Debug|ARM64.Build.0 = Debug|ARM64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Debug|x64.ActiveCfg = Debug|x64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Debug|x64.Build.0 = Debug|x64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Debug|x86.ActiveCfg = Debug|x86
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Debug|x86.Build.0 = Debug|x86
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Release|ARM64.ActiveCfg = Release|ARM64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Release|ARM64.Build.0 = Release|ARM64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Release|x64.ActiveCfg = Release|x64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Release|x64.Build.0 = Release|x64
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Release|x86.ActiveCfg = Release|x86
{B0BF5A1F-5634-48D9-A186-65F0F64555F5}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
27 changes: 27 additions & 0 deletions public/Nitrocid.Installers/Nitrocid.Installer/Folders.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,32 @@
<StandardDirectory Id="ProgramFiles6432Folder">
<Directory Id="INSTALLFOLDER" Name="!(bind.Property.Manufacturer)\!(bind.Property.ProductName)" />
</StandardDirectory>

<StandardDirectory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="!(bind.Property.Manufacturer) !(bind.Property.ProductName)" >
<Component Id="ApplicationProgramsFolder" Guid="b44c5027-1ded-41bb-b28f-a2f0af758fc8">
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\!(bind.Property.Manufacturer)\!(bind.Property.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
<Shortcut Id="ApplicationStartMenuShortcut"
Name="!(bind.Property.ProductName)"
Description="Simulates our future-planned kernel"
Target="[INSTALLFOLDER]\Nitrocid.exe"
WorkingDirectory="INSTALLFOLDER"
/>
</Component>
</Directory>
</StandardDirectory>

<StandardDirectory Id="DesktopFolder">
<Component Id="DesktopIcon" Guid="b44c5027-1eed-41bb-b28f-a2f0af758fc8">
<RegistryValue Root="HKCU" Key="Software\!(bind.Property.Manufacturer)\!(bind.Property.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
<Shortcut Id="DesktopShortcut"
Name="!(bind.Property.ProductName)"
Description="Simulates our future-planned kernel"
Target="[INSTALLFOLDER]\Nitrocid.exe"
WorkingDirectory="INSTALLFOLDER"
/>
</Component>
</StandardDirectory>
</Fragment>
</Wix>
7 changes: 6 additions & 1 deletion public/Nitrocid.Installers/Nitrocid.Installer/Package.wxs
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui"
xmlns:netfx="http://wixtoolset.org/schemas/v4/wxs/netfx">
<Package Name="Nitrocid" Manufacturer="Aptivi" Version="0.1.0.36" UpgradeCode="b44c5027-1ced-41bb-b28f-a2f0af758fc8">
<Package Name="Nitrocid 0.1.0" Manufacturer="Aptivi" Version="0.1.0.36" UpgradeCode="b44c5027-1ced-41bb-b28f-a2f0af758fc6" Scope="perMachine">
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />

<Feature Id="Main">
<ComponentGroupRef Id="FullComponent" />
<ComponentRef Id="ApplicationProgramsFolder" />
<ComponentRef Id="DesktopIcon" />
</Feature>

<Icon Id="icon.ico" SourceFile="..\..\OfficialAppIcon-NitrocidKS.ico"/>
<Property Id="ARPPRODUCTICON" Value="icon.ico" />

<ui:WixUI
Id="WixUI_InstallDir"
InstallDirectory="INSTALLFOLDER"
Expand Down
12 changes: 12 additions & 0 deletions public/Nitrocid.Installers/Nitrocid.InstallerBundle/Bundle.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
<Bundle Name="Nitrocid" Manufacturer="Aptivi" Version="0.1.0.36" UpgradeCode="7011d1b2-1bb0-49db-8a25-035d5b47ce97" IconSourceFile="..\..\..\..\..\..\Nitrocid\OfficialAppIcon-NitrocidKS.ico">
<BootstrapperApplication>
<bal:WixInternalUIBootstrapperApplication />
</BootstrapperApplication>

<Chain>
<MsiPackage SourceFile="Nitrocid.Installer.msi" />
</Chain>
</Bundle>
</Wix>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<Project Sdk="WixToolset.Sdk/5.0.2">
<PropertyGroup>
<DebugType Condition="'$(Configuration)' == 'Debug'">full</DebugType>
<DebugType Condition="'$(Configuration)' != 'Debug'">none</DebugType>
</PropertyGroup>
<PropertyGroup>
<OutputType>Bundle</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="WixToolset.Bal.wixext" Version="5.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Nitrocid.Installer\Nitrocid.Installer.wixproj" />
</ItemGroup>
</Project>

0 comments on commit 3766ba4

Please sign in to comment.