f4a88f4b2c
golangci-lint / lint (push) Failing after 4s
- Complete GUI overhaul with Fyne framework * Modern dark theme with indigo/pink accent colors * 4-step setup wizard (Welcome → Server → Auth → Finish) * Dashboard with proxy list, real-time logs, and config viewer * Windows Service manager (install/start/stop/uninstall) * System tray integration with quick controls - WiX v7 MSI installer * Auto-registers as Windows Service (manual start) * Feature tree UI for optional components * Desktop shortcut and PATH options * Build script: packaging/windows/build-msi.ps1 - Build system updates * Added kanholec-windows-gui target (CGO required) * Added kanholec-windows-msi target * Separate main_gui.go entry point for GUI builds GUI binary: bin/kanholec-windows-amd64.exe (31.4 MB) MSI installer: bin/kanholec-0.69.0-amd64.msi (12.1 MB)
133 lines
5.3 KiB
XML
133 lines
5.3 KiB
XML
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
|
|
xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
|
|
|
|
<Package
|
|
Name="kanholec"
|
|
Manufacturer="kanhole Contributors"
|
|
Version="0.69.0"
|
|
UpgradeCode="A1B2C3D4-E5F6-7890-ABCD-EF1234567890"
|
|
Scope="perMachine">
|
|
|
|
<MajorUpgrade DowngradeErrorMessage="A newer version of kanholec is already installed." />
|
|
|
|
<MediaTemplate EmbedCab="yes" />
|
|
|
|
<Icon Id="kanholecIcon" SourceFile="kanholec.ico" />
|
|
<Property Id="ARPPRODUCTICON" Value="kanholecIcon" />
|
|
<Property Id="ARPHELPLINK" Value="https://github.com/kanhole/kanhole" />
|
|
<Property Id="ARPURLINFOABOUT" Value="https://github.com/kanhole/kanhole" />
|
|
|
|
<Feature Id="Main" Title="kanholec" Description="kanhole reverse proxy client" Level="1"
|
|
AllowAdvertise="no">
|
|
<ComponentGroupRef Id="BinaryFiles" />
|
|
<ComponentGroupRef Id="ConfigFiles" />
|
|
<ComponentGroupRef Id="Shortcuts" />
|
|
<ComponentRef Id="ServiceComponent" />
|
|
</Feature>
|
|
|
|
<Feature Id="DesktopShortcutFeature" Title="Desktop Shortcut" Description="Create a desktop shortcut"
|
|
Level="1000" AllowAdvertise="no">
|
|
<ComponentRef Id="DesktopShortcutComponent" />
|
|
</Feature>
|
|
|
|
<Feature Id="PathFeature" Title="Add to PATH" Description="Add kanholec to system PATH"
|
|
Level="1" AllowAdvertise="no">
|
|
<ComponentRef Id="PathComponent" />
|
|
</Feature>
|
|
|
|
<ui:WixUI
|
|
Id="WixUI_FeatureTree"
|
|
InstallDirectory="INSTALLFOLDER" />
|
|
|
|
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
|
|
|
|
<StandardDirectory Id="ProgramFiles6432Folder">
|
|
<Directory Id="INSTALLFOLDER" Name="kanholec" />
|
|
</StandardDirectory>
|
|
|
|
<StandardDirectory Id="ProgramMenuFolder">
|
|
<Directory Id="ApplicationProgramsFolder" Name="kanholec" />
|
|
</StandardDirectory>
|
|
|
|
<StandardDirectory Id="CommonAppDataFolder">
|
|
<Directory Id="ConfigFolder" Name="kanholec" />
|
|
</StandardDirectory>
|
|
|
|
<ComponentGroup Id="BinaryFiles" Directory="INSTALLFOLDER">
|
|
<Component Id="KanholeCBinary" Guid="E1B2C3D4-E5F6-7890-ABCD-EF1234567894">
|
|
<File Id="kanholecExe"
|
|
Name="kanholec.exe"
|
|
Source="..\..\bin\kanholec-windows-amd64.exe"
|
|
KeyPath="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="ConfigFiles" Directory="ConfigFolder">
|
|
<Component Id="DefaultConfig" Guid="F1B2C3D4-E5F6-7890-ABCD-EF1234567895" NeverOverwrite="yes">
|
|
<File Id="kanholecToml"
|
|
Name="kanholec.toml"
|
|
Source="kanholec.default.toml"
|
|
KeyPath="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
|
|
<ComponentGroup Id="Shortcuts" Directory="ApplicationProgramsFolder">
|
|
<Component Id="StartMenuShortcuts" Guid="A2B2C3D4-E5F6-7890-ABCD-EF1234567892">
|
|
<Shortcut Id="StartMenuShortcut"
|
|
Name="kanholec"
|
|
Target="[INSTALLFOLDER]kanholec.exe"
|
|
WorkingDirectory="INSTALLFOLDER"
|
|
Description="kanhole reverse proxy client"
|
|
Icon="kanholecIcon" />
|
|
<Shortcut Id="ConfigFolderShortcut"
|
|
Name="Config Directory"
|
|
Target="[ConfigFolder]"
|
|
Description="Open kanholec config directory" />
|
|
<Shortcut Id="UninstallShortcut"
|
|
Name="Uninstall kanholec"
|
|
Target="[System64Folder]msiexec.exe"
|
|
Arguments="/x [ProductCode]"
|
|
Description="Uninstall kanholec" />
|
|
<RemoveFolder Id="RemoveApplicationProgramsFolder" On="uninstall" />
|
|
<RegistryValue Root="HKCU" Key="Software\kanhole\kanholec" Name="installed" Type="integer" Value="1" KeyPath="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
|
|
<Component Id="DesktopShortcutComponent" Directory="DesktopFolder" Guid="B2B2C3D4-E5F6-7890-ABCD-EF1234567893">
|
|
<Shortcut Id="DesktopShortcut"
|
|
Name="kanholec"
|
|
Target="[INSTALLFOLDER]kanholec.exe"
|
|
WorkingDirectory="INSTALLFOLDER"
|
|
Description="kanhole reverse proxy client"
|
|
Icon="kanholecIcon" />
|
|
<RegistryValue Root="HKCU" Key="Software\kanhole\kanholec" Name="desktop_shortcut" Type="integer" Value="1" KeyPath="yes" />
|
|
</Component>
|
|
|
|
<Component Id="PathComponent" Directory="INSTALLFOLDER" Guid="C2B2C3D4-E5F6-7890-ABCD-EF1234567896">
|
|
<Environment Id="PATH" Name="PATH" Value="[INSTALLFOLDER]" Permanent="no" Part="last" Action="set" System="yes" />
|
|
<RegistryValue Root="HKCU" Key="Software\kanhole\kanholec" Name="path_added" Type="integer" Value="1" KeyPath="yes" />
|
|
</Component>
|
|
|
|
<Component Id="ServiceComponent" Directory="INSTALLFOLDER" Guid="D2B2C3D4-E5F6-7890-ABCD-EF1234567897">
|
|
<RegistryValue Root="HKCU" Key="Software\kanhole\kanholec" Name="service_registered" Type="integer" Value="1" KeyPath="yes" />
|
|
<ServiceInstall
|
|
Id="kanholecService"
|
|
Name="kanholec"
|
|
DisplayName="kanholec - kanhole Client"
|
|
Description="kanhole reverse proxy client service"
|
|
Start="demand"
|
|
Type="ownProcess"
|
|
ErrorControl="ignore"
|
|
Arguments='-c "[ConfigFolder]kanholec.toml"'
|
|
Account="LocalSystem" />
|
|
<ServiceControl
|
|
Id="kanholecServiceControl"
|
|
Name="kanholec"
|
|
Stop="both"
|
|
Remove="uninstall"
|
|
Wait="no" />
|
|
</Component>
|
|
|
|
</Package>
|
|
</Wix>
|