Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/actions/full-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ runs:
steps:
- uses: actions/setup-dotnet@v4

- name: Install WiX v6
shell: bash
run: |
dotnet tool install --global wix --version 6.0.*

- name: Build
shell: bash
run: dotnet build
Expand All @@ -38,8 +43,16 @@ runs:
Compress-Archive -Path "publish/$arch/*" -DestinationPath "publish/SentryReplay-${{ inputs.version }}-$arch.zip"
}

- name: Create MSI Installers
shell: bash
run: |
for arch in ${{ inputs.archs }}; do
wix build Package.wxs -arch $arch -d Version=${{ inputs.version }} -d Arch=$arch -o "publish/SentryReplay-${{ inputs.version }}-$arch.msi"
done

- uses: actions/upload-artifact@v4
with:
if-no-files-found: error
path: |
publish/*.zip
publish/*.msi
4 changes: 3 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ jobs:
GH_TOKEN: ${{ github.token }}
with:
tag: "v${{ github.event.inputs.version }}"
artifacts: "publish/*.zip"
artifacts: |
publish/*.zip
publish/*.msi
generateReleaseNotes: true
prerelease: ${{ contains(github.event.inputs.version, 'preview') }}
allowUpdates: ${{ github.event.inputs.updateRelease }}
Expand Down
66 changes: 66 additions & 0 deletions Package.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Name="Sentry Replay"
Manufacturer="Daniel Chalmers"
Version="$(var.Version)"
UpgradeCode="98E07D4B-45EB-45A6-90A5-2A68E772F2E7"
Scope="perUser">
<Property Id="ARPNOMODIFY" Value="1" />
<MajorUpgrade AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="A newer version of Sentry Replay is already installed." />
<MediaTemplate EmbedCab="yes" />

<CustomAction Id="LaunchApp"
Directory="INSTALLFOLDER"
ExeCommand="&quot;[INSTALLFOLDER]SentryReplay.exe&quot;"
Execute="immediate"
Impersonate="yes"
Return="asyncNoWait" />

<InstallExecuteSequence>
<Custom Action="LaunchApp" After="InstallFinalize" Condition="NOT Installed" />
</InstallExecuteSequence>

<Feature Id="Main" Title="SentryReplay" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Package>

<Fragment>
<StandardDirectory Id="LocalAppDataFolder">
<Directory Id="SentryReplayRoot" Name="SentryReplay">
<Directory Id="INSTALLFOLDER" Name="SentryReplay" />
</Directory>
</StandardDirectory>
<StandardDirectory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuSentryReplay" Name="Sentry Replay" />
</StandardDirectory>
</Fragment>

<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="MainExecutable" Guid="*">
<File Id="SentryReplayExe" Source="publish/$(var.Arch)/SentryReplay.exe" KeyPath="yes" />
<RemoveFile Id="RemoveOldFiles" Name="*.*" On="both" />
<RemoveFolder Id="RemoveInstallFolder" Directory="INSTALLFOLDER" On="uninstall" />
</Component>
<Component Id="StartMenuShortcut" Guid="*">
<Shortcut Id="SentryReplayShortcut"
Name="Sentry Replay"
Description="Sentry Replay"
Directory="ProgramMenuSentryReplay"
Target="[INSTALLFOLDER]SentryReplay.exe"
WorkingDirectory="INSTALLFOLDER" />
<RemoveFolder Id="RemoveStartMenuFolder" Directory="ProgramMenuSentryReplay" On="uninstall" />
<RegistryValue Root="HKCU"
Key="Software\\Daniel Chalmers\\SentryReplay"
Name="StartMenuShortcut"
Type="integer"
Value="1"
KeyPath="yes" />
</Component>
<Files Include="publish/$(var.Arch)/**">
<Exclude Files="publish/$(var.Arch)/SentryReplay.exe" />
</Files>
</ComponentGroup>
</Fragment>
</Wix>