mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-30 22:26:42 +00:00
* fix(client): enable UI autostart for silent and MSI installs The MSI installer had no autostart logic and the EXE silent installer skipped the autostart page, leaving the registry entry unwritten. This caused the NetBird UI tray to not start at login after RMM deployments. Add an AUTOSTART property (default: 1) to the MSI that writes the HKLM Run key, and initialize AutostartEnabled in the NSIS .onInit so silent installs match the interactive default. * add real guid for NetBirdAutoStart component
97 lines
4.9 KiB
XML
97 lines
4.9 KiB
XML
<Wix
|
|
xmlns="http://wixtoolset.org/schemas/v4/wxs"
|
|
xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
|
|
<Package Name="NetBird" Version="$(env.NETBIRD_VERSION)" Manufacturer="NetBird GmbH" Language="1033" UpgradeCode="6456ec4e-3ad6-4b9b-a2be-98e81cb21ccf"
|
|
InstallerVersion="500" Compressed="yes" Codepage="utf-8" >
|
|
|
|
|
|
<MediaTemplate EmbedCab="yes" />
|
|
|
|
<Feature Id="NetbirdFeature" Title="Netbird" Level="1">
|
|
<ComponentGroupRef Id="NetbirdFilesComponent" />
|
|
</Feature>
|
|
|
|
<MajorUpgrade AllowSameVersionUpgrades='yes' DowngradeErrorMessage="A newer version of [ProductName] is already installed. Setup will now exit."/>
|
|
|
|
<!-- Autostart: enabled by default, disable with AUTOSTART=0 on the msiexec command line -->
|
|
<Property Id="AUTOSTART" Value="1" />
|
|
|
|
<StandardDirectory Id="ProgramFiles64Folder">
|
|
<Directory Id="NetbirdInstallDir" Name="Netbird">
|
|
<Component Id="NetbirdFiles" Guid="db3165de-cc6e-4922-8396-9d892950e23e" Bitness="always64">
|
|
<File ProcessorArchitecture="$(var.ProcessorArchitecture)" Source=".\dist\netbird_windows_$(var.ArchSuffix)\netbird.exe" KeyPath="yes" />
|
|
<File ProcessorArchitecture="$(var.ProcessorArchitecture)" Source=".\dist\netbird_windows_$(var.ArchSuffix)\netbird-ui.exe">
|
|
<Shortcut Id="NetbirdDesktopShortcut" Directory="DesktopFolder" Name="NetBird" WorkingDirectory="NetbirdInstallDir" Icon="NetbirdIcon">
|
|
<ShortcutProperty Key="System.AppUserModel.ID" Value="NetBird" />
|
|
<ShortcutProperty Key="System.AppUserModel.ToastActivatorCLSID" Value="{0E1B4DE7-E148-432B-9814-544F941826EC}" />
|
|
</Shortcut>
|
|
<Shortcut Id="NetbirdStartMenuShortcut" Directory="StartMenuFolder" Name="NetBird" WorkingDirectory="NetbirdInstallDir" Icon="NetbirdIcon">
|
|
<ShortcutProperty Key="System.AppUserModel.ID" Value="NetBird" />
|
|
<ShortcutProperty Key="System.AppUserModel.ToastActivatorCLSID" Value="{0E1B4DE7-E148-432B-9814-544F941826EC}" />
|
|
</Shortcut>
|
|
</File>
|
|
<File ProcessorArchitecture="$(var.ProcessorArchitecture)" Source=".\dist\netbird_windows_$(var.ArchSuffix)\wintun.dll" />
|
|
<File Id="NetbirdToastIcon" Name="netbird.png" Source=".\client\ui\assets\netbird.png" />
|
|
<?if $(var.ArchSuffix) = "amd64" ?>
|
|
<File ProcessorArchitecture="$(var.ProcessorArchitecture)" Source=".\dist\netbird_windows_$(var.ArchSuffix)\opengl32.dll" />
|
|
<?endif ?>
|
|
|
|
<ServiceInstall
|
|
Id="NetBirdService"
|
|
Name="NetBird"
|
|
DisplayName="NetBird"
|
|
Description="Connect your devices into a secure WireGuard-based overlay network with SSO, MFA and granular access controls."
|
|
Start="auto" Type="ownProcess"
|
|
ErrorControl="normal"
|
|
Account="LocalSystem"
|
|
Vital="yes"
|
|
Interactive="no"
|
|
Arguments='service run config [CommonAppDataFolder]Netbird\config.json log-level info'
|
|
/>
|
|
<ServiceControl Id="NetBirdService" Name="NetBird" Start="install" Stop="both" Remove="uninstall" Wait="yes" />
|
|
|
|
<Environment Id="UpdatePath" Name="PATH" Value="[NetbirdInstallDir]" Part="last" Action="set" System="yes" />
|
|
|
|
</Component>
|
|
</Directory>
|
|
</StandardDirectory>
|
|
|
|
<!-- Per-user component: HKCU keypath (auto GUID via "*"), separate from
|
|
the per-machine NetbirdFiles component to satisfy ICE57. -->
|
|
<StandardDirectory Id="ProgramMenuFolder">
|
|
<Component Id="NetbirdAumidRegistry" Guid="*">
|
|
<RegistryKey Root="HKCU" Key="Software\Classes\AppUserModelId\NetBird" ForceDeleteOnUninstall="yes">
|
|
<RegistryValue Name="InstalledByMSI" Type="integer" Value="1" KeyPath="yes" />
|
|
</RegistryKey>
|
|
</Component>
|
|
</StandardDirectory>
|
|
|
|
<StandardDirectory Id="CommonAppDataFolder">
|
|
<Directory Id="NetbirdAutoStartDir" Name="Netbird">
|
|
<Component Id="NetbirdAutoStart" Guid="b199eaca-b0dd-4032-af19-679cfad48eb3" Bitness="always64">
|
|
<Condition>AUTOSTART = "1"</Condition>
|
|
<RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Run"
|
|
Name="Netbird" Value=""[NetbirdInstallDir]netbird-ui.exe""
|
|
Type="string" KeyPath="yes" />
|
|
</Component>
|
|
</Directory>
|
|
</StandardDirectory>
|
|
|
|
<ComponentGroup Id="NetbirdFilesComponent">
|
|
<ComponentRef Id="NetbirdFiles" />
|
|
<ComponentRef Id="NetbirdAumidRegistry" />
|
|
<ComponentRef Id="NetbirdAutoStart" />
|
|
</ComponentGroup>
|
|
|
|
<util:CloseApplication Id="CloseNetBird" CloseMessage="no" Target="netbird.exe" RebootPrompt="no" />
|
|
<util:CloseApplication Id="CloseNetBirdUI" CloseMessage="no" Target="netbird-ui.exe" RebootPrompt="no" TerminateProcess="0" />
|
|
|
|
|
|
|
|
<!-- Icons -->
|
|
<Icon Id="NetbirdIcon" SourceFile=".\client\ui\assets\netbird.ico" />
|
|
<Property Id="ARPPRODUCTICON" Value="NetbirdIcon" />
|
|
|
|
</Package>
|
|
</Wix>
|