Skip to content

Commit 25e0765

Browse files
Merge pull request #764 from erikdarlingdata/feature/755-retire-installergui
Retire InstallerGui from solution and build pipeline (#755 Phase 3)
2 parents 5b5e049 + 891d5d6 commit 25e0765

8 files changed

Lines changed: 8 additions & 45 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
dotnet restore Dashboard/Dashboard.csproj
3131
dotnet restore Lite/PerformanceMonitorLite.csproj
3232
dotnet restore Installer/PerformanceMonitorInstaller.csproj
33-
dotnet restore InstallerGui/InstallerGui.csproj
3433
3534
- name: Get version
3635
id: version
@@ -56,9 +55,6 @@ jobs:
5655
- name: Publish CLI Installer
5756
run: dotnet publish Installer/PerformanceMonitorInstaller.csproj -c Release
5857

59-
- name: Publish GUI Installer
60-
run: dotnet publish InstallerGui/InstallerGui.csproj -c Release
61-
6258
- name: Package release artifacts
6359
if: github.event_name == 'release'
6460
shell: pwsh
@@ -72,14 +68,13 @@ jobs:
7268
# Lite ZIP
7369
Compress-Archive -Path 'publish/Lite/*' -DestinationPath "releases/PerformanceMonitorLite-$version.zip" -Force
7470
75-
# Installer ZIP (CLI + GUI + SQL scripts)
71+
# Installer ZIP (CLI + SQL scripts)
7672
$instDir = 'publish/Installer'
7773
New-Item -ItemType Directory -Force -Path $instDir
7874
New-Item -ItemType Directory -Force -Path "$instDir/install"
7975
New-Item -ItemType Directory -Force -Path "$instDir/upgrades"
8076
8177
Copy-Item 'Installer/bin/Release/net8.0/win-x64/publish/PerformanceMonitorInstaller.exe' $instDir
82-
Copy-Item 'InstallerGui/bin/Release/net8.0-windows/win-x64/publish/PerformanceMonitorInstallerGui.exe' $instDir -ErrorAction SilentlyContinue
8378
Copy-Item 'install/*.sql' "$instDir/install/"
8479
if (Test-Path 'upgrades') { Copy-Item 'upgrades/*' "$instDir/upgrades/" -Recurse -ErrorAction SilentlyContinue }
8580
if (Test-Path 'README.md') { Copy-Item 'README.md' $instDir }

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,13 @@ jobs:
2323
dotnet restore Dashboard/Dashboard.csproj
2424
dotnet restore Lite/PerformanceMonitorLite.csproj
2525
dotnet restore Installer/PerformanceMonitorInstaller.csproj
26-
dotnet restore InstallerGui/InstallerGui.csproj
2726
dotnet restore Lite.Tests/Lite.Tests.csproj
2827
2928
- name: Build all projects
3029
run: |
3130
dotnet build Dashboard/Dashboard.csproj -c Release --no-restore
3231
dotnet build Lite/PerformanceMonitorLite.csproj -c Release --no-restore
3332
dotnet build Installer/PerformanceMonitorInstaller.csproj -c Release --no-restore
34-
dotnet build InstallerGui/InstallerGui.csproj -c Release --no-restore
3533
dotnet build Lite.Tests/Lite.Tests.csproj -c Release --no-restore
3634
3735
- name: Run tests

.github/workflows/nightly.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ jobs:
6262
dotnet restore Dashboard/Dashboard.csproj
6363
dotnet restore Lite/PerformanceMonitorLite.csproj
6464
dotnet restore Installer/PerformanceMonitorInstaller.csproj
65-
dotnet restore InstallerGui/InstallerGui.csproj
6665
dotnet restore Lite.Tests/Lite.Tests.csproj
6766
6867
- name: Run tests
@@ -77,9 +76,6 @@ jobs:
7776
- name: Publish CLI Installer
7877
run: dotnet publish Installer/PerformanceMonitorInstaller.csproj -c Release
7978

80-
- name: Publish GUI Installer
81-
run: dotnet publish InstallerGui/InstallerGui.csproj -c Release
82-
8379
- name: Package artifacts
8480
shell: pwsh
8581
run: |
@@ -95,7 +91,6 @@ jobs:
9591
New-Item -ItemType Directory -Force -Path "$instDir/upgrades"
9692
9793
Copy-Item 'Installer/bin/Release/net8.0/win-x64/publish/PerformanceMonitorInstaller.exe' $instDir
98-
Copy-Item 'InstallerGui/bin/Release/net8.0-windows/win-x64/publish/PerformanceMonitorInstallerGui.exe' $instDir -ErrorAction SilentlyContinue
9994
Copy-Item 'install/*.sql' "$instDir/install/"
10095
if (Test-Path 'install/templates') { Copy-Item 'install/templates' "$instDir/install/templates" -Recurse -ErrorAction SilentlyContinue }
10196
if (Test-Path 'upgrades') { Copy-Item 'upgrades/*' "$instDir/upgrades/" -Recurse -ErrorAction SilentlyContinue }

CONTRIBUTING.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ This repository contains two editions of the SQL Server Performance Monitor:
2424
|--------|-------------|
2525
| `install/` | 50+ T-SQL scripts that create the PerformanceMonitor database |
2626
| `Installer/` | CLI installer for the Full Edition database and collectors |
27-
| `InstallerGui/` | GUI installer (same functionality as the CLI installer) |
28-
| `Dashboard/` | WPF dashboard that connects to the installed PerformanceMonitor database |
27+
| `Installer.Core/` | Shared installation library (used by CLI installer and Dashboard) |
28+
| `Dashboard/` | WPF dashboard connects to PerformanceMonitor database, can also install/upgrade via Add Server |
2929

3030
**Lite Edition** — standalone desktop app, nothing installed on the target server:
3131

@@ -61,8 +61,6 @@ dotnet build Lite/PerformanceMonitorLite.csproj
6161
# Build CLI Installer (self-contained)
6262
dotnet publish Installer/PerformanceMonitorInstaller.csproj -c Release
6363
64-
# Build GUI Installer
65-
dotnet publish InstallerGui/InstallerGui.csproj -c Release -r win-x64 --self-contained
6664
```
6765

6866
### Running the Applications

PerformanceMonitor.sln

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dashboard", "Dashboard\Dash
77
EndProject
88
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceMonitorLite", "Lite\PerformanceMonitorLite.csproj", "{48718A1C-3679-AB80-1D5F-A9C20CC7EF9A}"
99
EndProject
10-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstallerGui", "InstallerGui\InstallerGui.csproj", "{B9F4D012-5FA6-6773-E3A5-63482B482B9A}"
11-
EndProject
1210
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lite.Tests", "Lite.Tests\Lite.Tests.csproj", "{C4E76DA8-A115-7291-3AD0-12C648E24FF2}"
1311
EndProject
1412
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceMonitorInstaller", "Installer\PerformanceMonitorInstaller.csproj", "{0F1EFD0D-61B6-D475-3A2E-ED7FD83BCE6E}"
@@ -31,10 +29,6 @@ Global
3129
{48718A1C-3679-AB80-1D5F-A9C20CC7EF9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
3230
{48718A1C-3679-AB80-1D5F-A9C20CC7EF9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
3331
{48718A1C-3679-AB80-1D5F-A9C20CC7EF9A}.Release|Any CPU.Build.0 = Release|Any CPU
34-
{B9F4D012-5FA6-6773-E3A5-63482B482B9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
35-
{B9F4D012-5FA6-6773-E3A5-63482B482B9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
36-
{B9F4D012-5FA6-6773-E3A5-63482B482B9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
37-
{B9F4D012-5FA6-6773-E3A5-63482B482B9A}.Release|Any CPU.Build.0 = Release|Any CPU
3832
{C4E76DA8-A115-7291-3AD0-12C648E24FF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3933
{C4E76DA8-A115-7291-3AD0-12C648E24FF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
4034
{C4E76DA8-A115-7291-3AD0-12C648E24FF2}.Release|Any CPU.ActiveCfg = Release|Any CPU

README.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ PerformanceMonitorInstaller.exe YourServerName --uninstall
173173
PerformanceMonitorInstaller.exe YourServerName sa YourPassword --uninstall
174174
```
175175

176-
The installer automatically tests the connection, checks the SQL Server version (2016+ required), executes SQL scripts, downloads community dependencies, creates SQL Agent jobs, and runs initial data collection. A GUI installer (`InstallerGui/`) is also available with the same functionality.
176+
The installer automatically tests the connection, checks the SQL Server version (2016+ required), executes SQL scripts, downloads community dependencies, creates SQL Agent jobs, and runs initial data collection. You can also install directly from the Dashboard's Add Server dialog.
177177

178178
### CLI Installer Options
179179

@@ -599,8 +599,8 @@ Monitor/
599599
├── install/ # 58 SQL installation scripts
600600
├── upgrades/ # Version-specific upgrade scripts
601601
├── Installer/ # CLI installer for Full Edition database (C#)
602-
├── InstallerGui/ # GUI installer for Full Edition database (WPF)
603-
├── Dashboard/ # Full Edition dashboard application (WPF)
602+
├── Installer.Core/ # Shared installation library (CLI + Dashboard)
603+
├── Dashboard/ # Full Edition dashboard application (WPF, includes installer)
604604
605605
│ Lite Edition (standalone desktop app, nothing installed on server)
606606
├── Lite/ # Lite Edition desktop application (WPF)
@@ -624,9 +624,6 @@ dotnet build Lite/PerformanceMonitorLite.csproj
624624
625625
# CLI Installer (self-contained)
626626
dotnet publish Installer/PerformanceMonitorInstaller.csproj -c Release
627-
628-
# GUI Installer
629-
dotnet publish InstallerGui/InstallerGui.csproj -c Release -r win-x64 --self-contained
630627
```
631628

632629
---

build-dashboard.cmd

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ echo.
3636
:: ----------------------------------------
3737
:: CLI Installer
3838
:: ----------------------------------------
39-
echo [2/3] Publishing CLI Installer...
39+
echo [2/2] Publishing CLI Installer...
4040
dotnet publish Installer\PerformanceMonitorInstaller.csproj -c Release
4141

4242
if %ERRORLEVEL% neq 0 (
@@ -46,19 +46,6 @@ if %ERRORLEVEL% neq 0 (
4646
)
4747
echo.
4848

49-
:: ----------------------------------------
50-
:: GUI Installer
51-
:: ----------------------------------------
52-
echo [3/3] Publishing GUI Installer...
53-
dotnet publish InstallerGui\InstallerGui.csproj -c Release -r win-x64 --self-contained
54-
55-
if %ERRORLEVEL% neq 0 (
56-
echo.
57-
echo ERROR: GUI Installer build failed!
58-
exit /b 1
59-
)
60-
echo.
61-
6249
:: ----------------------------------------
6350
:: Package Installer + SQL into ZIP
6451
:: ----------------------------------------
@@ -70,7 +57,6 @@ mkdir "%INST_DIR%\install"
7057
mkdir "%INST_DIR%\upgrades"
7158

7259
copy "Installer\bin\Release\net8.0\win-x64\publish\PerformanceMonitorInstaller.exe" "%INST_DIR%\" >nul
73-
copy "InstallerGui\bin\Release\net8.0\win-x64\publish\InstallerGui.exe" "%INST_DIR%\" >nul 2>&1
7460
copy "install\*.sql" "%INST_DIR%\install\" >nul
7561
xcopy "upgrades" "%INST_DIR%\upgrades\" /E /I /Q >nul 2>&1
7662
if exist README.md copy README.md "%INST_DIR%\" >nul

install/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Install Scripts
22

3-
SQL scripts that create and configure the PerformanceMonitor database for the Full Edition. The CLI installer (`Installer/`) and GUI installer (`InstallerGui/`) execute these scripts in order against the target SQL Server instance.
3+
SQL scripts that create and configure the PerformanceMonitor database for the Full Edition. The CLI installer (`Installer/`) and Dashboard's Add Server dialog execute these scripts in order against the target SQL Server instance.
44

55
Scripts create the database, collection tables, configuration tables, stored procedures for each collector, SQL Agent jobs, reporting views, and data retention logic. Each script is idempotent — tables use `IF NOT EXISTS` guards and procedures use `CREATE OR ALTER`, so re-running the installer on an existing installation is safe and preserves collected data.
66

0 commit comments

Comments
 (0)