diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index beb2489..0175015 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -31,7 +31,7 @@ jobs: - name: Extract Version Number id: extract_version - run: echo "::set-output name=version::${GITHUB_REF##*/}" + run: echo "version=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@v1.0.2 @@ -45,3 +45,23 @@ jobs: # Add additional options to the MSBuild command line here (like platform or verbosity level). # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} + + - name: Upload Build Artifact + uses: actions/upload-artifact@v4 + with: + name: PgNinja-${{ steps.extract_version.outputs.version }} + path: | + **\x64\${{env.BUILD_CONFIGURATION}}\*.exe + + - name: Build the Inno Setup Installer + uses: Minionguyjpro/Inno-Setup-Action@v1.2.2 + with: + path: 'PgNinjaSetup.iss' + options: /O+ + + - name: Upload Installer Artifact + uses: actions/upload-artifact@v4 + with: + name: PgNinja-Installer-${{ steps.extract_version.outputs.version }} + path: Output/*.exe + diff --git a/PgNinjaSetup.iss b/PgNinjaSetup.iss new file mode 100644 index 0000000..7545020 --- /dev/null +++ b/PgNinjaSetup.iss @@ -0,0 +1,29 @@ +; Inno Setup Script +[Setup] +AppName=PgNinja +AppVersion=1.0.0 +DefaultDirName={pf}\PgNinja +DefaultGroupName=PgNinja +UninstallDisplayIcon={app}\PgNinja.exe +OutputDir=.\Output +OutputBaseFilename=PgNinjaSetup +Compression=lzma +SolidCompression=yes + +[Files] +Source: "D:\a\PgNinja\PgNinja\x64\Release\PgNinja.exe"; DestDir: "{app}"; Flags: ignoreversion + +[Icons] +Name: "{group}\PgNinja"; Filename: "{app}\PgNinja.exe" +Name: "{userstartup}\PgNinja"; Filename: "{app}\PgNinja.exe"; Tasks: autostart + +[Tasks] +Name: "autostart"; Description: "Launch PgNinja at Windows startup"; GroupDescription: "Additional options:" + +[Registry] +Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; \ +ValueName: "PgNinja"; ValueType: string; ValueData: """{app}\PgNinja.exe"""; \ +Flags: uninsdeletevalue; Tasks: autostart + +[Run] +Filename: "{app}\PgNinja.exe"; Description: "Launch PgNinja"; Flags: nowait postinstall skipifsilent