Files
tailscale-custom/Setup.wxs
T
huanld 0990478d9c
checklocks / checklocks (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
Dockerfile build / deploy (push) Has been cancelled
natlab-integrationtest / natlab-integrationtest (push) Has been cancelled
CI / gomod-cache (push) Has been cancelled
CI / fuzz (push) Has been cancelled
tailscale.com/cmd/vet / vet (push) Has been cancelled
update-flakehub / flakehub-publish (push) Has been cancelled
CI / race-root-integration (1/4) (push) Has been cancelled
CI / race-root-integration (2/4) (push) Has been cancelled
CI / race-root-integration (3/4) (push) Has been cancelled
CI / race-root-integration (4/4) (push) Has been cancelled
CI / test (-race, amd64, 1/3) (push) Has been cancelled
CI / test (-race, amd64, 2/3) (push) Has been cancelled
CI / test (-race, amd64, 3/3) (push) Has been cancelled
CI / test (386) (push) Has been cancelled
CI / test (amd64) (push) Has been cancelled
CI / Windows (benchmarks) (push) Has been cancelled
CI / Windows (1/2) (push) Has been cancelled
CI / Windows (2/2) (push) Has been cancelled
CI / macos (push) Has been cancelled
CI / privileged (push) Has been cancelled
CI / vm (push) Has been cancelled
CI / cross (386, linux) (push) Has been cancelled
CI / cross (amd64, darwin) (push) Has been cancelled
CI / cross (amd64, freebsd) (push) Has been cancelled
CI / cross (amd64, openbsd) (push) Has been cancelled
CI / cross (amd64, windows) (push) Has been cancelled
CI / cross (arm, 5, linux) (push) Has been cancelled
CI / cross (arm, 7, linux) (push) Has been cancelled
CI / cross (arm64, darwin) (push) Has been cancelled
CI / cross (arm64, linux) (push) Has been cancelled
CI / cross (arm64, windows) (push) Has been cancelled
CI / cross (loong64, linux) (push) Has been cancelled
CI / ios (push) Has been cancelled
CI / crossmin (amd64, illumos) (push) Has been cancelled
CI / crossmin (amd64, plan9) (push) Has been cancelled
CI / crossmin (amd64, solaris) (push) Has been cancelled
CI / crossmin (ppc64, aix) (push) Has been cancelled
CI / android (push) Has been cancelled
CI / wasm (push) Has been cancelled
CI / tailscale_go (push) Has been cancelled
CI / depaware (push) Has been cancelled
CI / go_generate (push) Has been cancelled
CI / make_tidy (push) Has been cancelled
CI / licenses (push) Has been cancelled
CI / staticcheck (macOS) (push) Has been cancelled
CI / staticcheck (Linux) (push) Has been cancelled
CI / staticcheck (Windows) (push) Has been cancelled
CI / staticcheck (Portable (1/4)) (push) Has been cancelled
CI / staticcheck (Portable (2/4)) (push) Has been cancelled
CI / staticcheck (Portable (3/4)) (push) Has been cancelled
CI / staticcheck (Portable (4/4)) (push) Has been cancelled
CI / notify_slack (push) Has been cancelled
CI / merge_blocker (push) Has been cancelled
CI / check_mergeability_strict (push) Has been cancelled
CI / check_mergeability (push) Has been cancelled
chore: release v1.0.0 including built MSI package
2026-04-22 03:39:08 -07:00

118 lines
5.1 KiB
XML

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Name="Tailscale Custom"
Manufacturer="SoftsBusiness"
Version="1.0.0.0"
UpgradeCode="{510A8C57-BA8F-4B9F-84E3-8E5C4E091054}"
Scope="perMachine">
<!-- Nhúng luôn dữ liệu vào MSI thay vì tách riêng ra file cab1.cab -->
<MediaTemplate EmbedCab="yes" />
<!-- Icon hiển thị trong Control Panel (Add/Remove Programs) -->
<Icon Id="TrayIcon.exe" SourceFile="dist\tailscale-tray.exe" />
<Property Id="ARPPRODUCTICON" Value="TrayIcon.exe" />
<MajorUpgrade DowngradeErrorMessage="A newer version is already installed." />
<Feature Id="MainFeature" Title="Tailscale Custom feature">
<ComponentGroupRef Id="MainComponents" />
<ComponentGroupRef Id="TrayStartupComponents" />
<ComponentGroupRef Id="StartMenuComponents" />
</Feature>
<!-- Chạy Tray App ngay sau khi Cài đặt xong thay vì phải Restart/Login -->
<CustomAction Id="LaunchTrayApp"
Directory="INSTALLFOLDER"
ExeCommand="&quot;[#tailscale_tray.exe]&quot;"
Execute="immediate"
Impersonate="yes"
Return="asyncNoWait" />
<InstallExecuteSequence>
<Custom Action="LaunchTrayApp" After="InstallFinalize" Condition="NOT Installed" />
</InstallExecuteSequence>
<StandardDirectory Id="ProgramFiles64Folder">
<Directory Id="INSTALLFOLDER" Name="Tailscale-Custom" />
</StandardDirectory>
<StandardDirectory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="Tailscale Custom" />
</StandardDirectory>
<ComponentGroup Id="MainComponents" Directory="INSTALLFOLDER">
<!-- Cài đặt và Đăng ký Windows Service -->
<Component Id="TailscaledExe" Guid="{9AB5E8B1-3E55-46D9-B357-19E4A9FDEFD7}">
<File Id="tailscaled.exe" Source="dist\tailscaled.exe" KeyPath="yes" />
<!--
Start="auto" + Account="LocalSystem": cấu hình tiêu chuẩn cho VPN client.
Cần SYSTEM để quản lý TUN adapter và routing table.
Auto-start để VPN hoạt động sau reboot.
Service ACL mặc định của Windows đã đủ an toàn:
SYSTEM + Administrators = Full Control, Users = QueryStatus only.
-->
<ServiceInstall Id="TailscaleService"
Type="ownProcess"
Name="Tailscale-Custom"
DisplayName="Tailscale-Custom"
Description="Tailscale Custom VPN Service"
Start="auto"
Account="LocalSystem"
ErrorControl="normal"
Vital="yes" />
<!-- Tự động Start service khi cài xong, tự Stop khi gỡ -->
<ServiceControl Id="StartTailscaleService"
Start="install"
Stop="both"
Remove="uninstall"
Name="Tailscale-Custom"
Wait="yes" />
</Component>
<!-- Copy file CMD -->
<Component Id="TailscaleExe" Guid="{E422A633-F1C0-41BC-BA99-ED3E43B718BC}">
<File Id="tailscale.exe" Source="dist\tailscale.exe" KeyPath="yes" />
</Component>
<!-- Copy file Tray App -->
<Component Id="TailscaleTrayExe" Guid="{121EFAD3-3893-4B9B-89EB-B6D74BA24E2A}">
<File Id="tailscale_tray.exe" Source="dist\tailscale-tray.exe" KeyPath="yes" />
</Component>
<!-- Copy file wintun.dll (Driver mạng ảo BAT BUOC PHAI CO) -->
<Component Id="WintunDll" Guid="{D73EAC5D-4E38-4F1E-9C8D-9B8A912CDE94}">
<File Id="wintun.dll" Source="dist\wintun.dll" KeyPath="yes" />
</Component>
</ComponentGroup>
<!-- Start Menu Shortcut -->
<ComponentGroup Id="StartMenuComponents" Directory="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="{948B77D2-50EA-4B39-86B5-DAB112111E73}">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="Tailscale Custom"
Description="Tailscale Custom VPN Client"
Target="[INSTALLFOLDER]tailscale-tray.exe"
WorkingDirectory="INSTALLFOLDER" />
<RemoveFolder Id="CleanUpShortCut" Directory="ApplicationProgramsFolder" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\SoftsBusiness\TailscaleCustom" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
</ComponentGroup>
<!-- Tự động set Tray Program khởi động cùng Windows thông qua Registry HKLM -->
<ComponentGroup Id="TrayStartupComponents" Directory="INSTALLFOLDER">
<Component Id="RegistryEntries" Guid="{2A65FCA8-3266-4198-8F68-5E2429817E1E}">
<RegistryValue Root="HKLM"
Key="Software\Microsoft\Windows\CurrentVersion\Run"
Name="TailscaleCustomTray"
Type="string"
Value="&quot;[#tailscale_tray.exe]&quot;"
KeyPath="yes" />
</Component>
</ComponentGroup>
</Package>
</Wix>