mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-07 08:44:07 +01:00
Update MacOS and Windows installers (#325)
Updated windows installer package generation with launch UI after install remove older version remove wiretrustee added install and uninstall scripts Updated brew cask: run installer script to start daemon Daemon conflicts with wiretrustee on brew Removed migrate check on non-root commands like status CLI CMD is now going to stdout
This commit is contained in:
parent
65069c1787
commit
5e3eceb0d6
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@ -9,7 +9,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
SIGN_PIPE_VER: main
|
SIGN_PIPE_VER: "v0.0.3"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
@ -131,7 +131,7 @@ jobs:
|
|||||||
uses: benc-uk/workflow-dispatch@v1
|
uses: benc-uk/workflow-dispatch@v1
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
with:
|
with:
|
||||||
workflow: Sign darwin ui app
|
workflow: Sign darwin ui app with dispatch
|
||||||
repo: netbirdio/sign-pipelines
|
repo: netbirdio/sign-pipelines
|
||||||
ref: ${{ env.SIGN_PIPE_VER }}
|
ref: ${{ env.SIGN_PIPE_VER }}
|
||||||
token: ${{ secrets.SIGN_GITHUB_TOKEN }}
|
token: ${{ secrets.SIGN_GITHUB_TOKEN }}
|
||||||
|
@ -147,6 +147,8 @@ nfpms:
|
|||||||
|
|
||||||
replaces:
|
replaces:
|
||||||
- wiretrustee
|
- wiretrustee
|
||||||
|
conflicts:
|
||||||
|
- wiretrustee
|
||||||
|
|
||||||
scripts:
|
scripts:
|
||||||
postinstall: "release_files/post_install.sh"
|
postinstall: "release_files/post_install.sh"
|
||||||
@ -165,6 +167,9 @@ nfpms:
|
|||||||
replaces:
|
replaces:
|
||||||
- wiretrustee
|
- wiretrustee
|
||||||
|
|
||||||
|
conflicts:
|
||||||
|
- wiretrustee
|
||||||
|
|
||||||
scripts:
|
scripts:
|
||||||
postinstall: "release_files/post_install.sh"
|
postinstall: "release_files/post_install.sh"
|
||||||
preremove: "release_files/pre_remove.sh"
|
preremove: "release_files/pre_remove.sh"
|
||||||
@ -413,22 +418,25 @@ brews:
|
|||||||
homepage: https://netbird.io/
|
homepage: https://netbird.io/
|
||||||
license: "BSD3"
|
license: "BSD3"
|
||||||
test: |
|
test: |
|
||||||
system "#{bin}/{{ .ProjectName }} -h"
|
system "#{bin}/{{ .ProjectName }} version"
|
||||||
|
conflicts:
|
||||||
|
- wiretrustee
|
||||||
|
|
||||||
uploads:
|
uploads:
|
||||||
- name: debian
|
- name: debian
|
||||||
ids:
|
ids:
|
||||||
- deb
|
- netbird-deb
|
||||||
- netbird-ui-deb
|
- netbird-ui-deb
|
||||||
mode: archive
|
mode: archive
|
||||||
target: https://pkgs.wiretrustee.com/debian/pool/{{ .ArtifactName }};deb.distribution=stable;deb.component=main;deb.architecture={{ if .Arm }}armhf{{ else }}{{ .Arch }}{{ end }};deb.package=
|
target: https://pkgs.wiretrustee.com/debian/pool/{{ .ArtifactName }};deb.distribution=stable;deb.component=main;deb.architecture={{ if .Arm }}armhf{{ else }}{{ .Arch }}{{ end }};deb.package=
|
||||||
username: dev@wiretrustee.com
|
username: dev@wiretrustee.com
|
||||||
method: PUT
|
method: PUT
|
||||||
|
|
||||||
- name: yum
|
- name: yum
|
||||||
ids:
|
ids:
|
||||||
- rpm
|
- netbird-rpm
|
||||||
- netbird-ui-rpm
|
- netbird-ui-rpm
|
||||||
mode: archive
|
mode: archive
|
||||||
target: https://pkgs.wiretrustee.com/yum/{{ .Arch }}{{ if .Arm }}{{ .Arm }}{{ end }}
|
target: https://pkgs.wiretrustee.com/yum/{{ .Arch }}{{ if .Arm }}{{ .Arm }}{{ end }}
|
||||||
username: dev@wiretrustee.com
|
username: dev@wiretrustee.com
|
||||||
method: PUT
|
method: PUT
|
17
README.md
17
README.md
@ -137,16 +137,25 @@ Hosted version:
|
|||||||
sudo yum install netbird-ui
|
sudo yum install netbird-ui
|
||||||
```
|
```
|
||||||
#### MACOS
|
#### MACOS
|
||||||
**Brew install**
|
**Homebrew install**
|
||||||
1. Download and install Brew at https://brew.sh/
|
1. Download and install homebrew at https://brew.sh/
|
||||||
2. Install the client
|
2. If wiretrustee was previously installed with homebrew, you will need to run:
|
||||||
|
```shell
|
||||||
|
# Stop and uninstall daemon service:
|
||||||
|
sudo wiretrustee service stop
|
||||||
|
sudo wiretrustee service uninstall
|
||||||
|
# unlik the app
|
||||||
|
brew unlink wiretrustee
|
||||||
|
```
|
||||||
|
> netbird will copy any existing configuration from the Wiretrustee's default configuration paths to the new Netbird's default location
|
||||||
|
3. Install the client
|
||||||
```shell
|
```shell
|
||||||
# for CLI only
|
# for CLI only
|
||||||
brew install netbirdio/tap/netbird
|
brew install netbirdio/tap/netbird
|
||||||
# for GUI package
|
# for GUI package
|
||||||
brew install --cask netbirdio/tap/netbird-ui
|
brew install --cask netbirdio/tap/netbird-ui
|
||||||
```
|
```
|
||||||
3. As homebrew doesn't allow sudo exec, we need to install and start the client daemon:
|
4. If you are install CLI only, you need to install and start the client daemon service:
|
||||||
```shell
|
```shell
|
||||||
sudo netbird service install
|
sudo netbird service install
|
||||||
sudo netbird service start
|
sudo netbird service start
|
||||||
|
@ -17,12 +17,9 @@ var downCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = util.InitLog(logLevel, "console")
|
err := util.InitLog(logLevel, "console")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("failed initializing log %v", err)
|
log.Errorf("failed initializing log %v", err)
|
||||||
return err
|
return err
|
||||||
|
@ -22,12 +22,9 @@ var loginCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = util.InitLog(logLevel, "console")
|
err := util.InitLog(logLevel, "console")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed initializing log %v", err)
|
return fmt.Errorf("failed initializing log %v", err)
|
||||||
}
|
}
|
||||||
@ -36,6 +33,11 @@ var loginCmd = &cobra.Command{
|
|||||||
|
|
||||||
// workaround to run without service
|
// workaround to run without service
|
||||||
if logFile == "console" {
|
if logFile == "console" {
|
||||||
|
err = handleRebrand(cmd)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
config, err := internal.GetConfig(managementURL, adminURL, configPath, preSharedKey)
|
config, err := internal.GetConfig(managementURL, adminURL, configPath, preSharedKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("get config file: %v", err)
|
return fmt.Errorf("get config file: %v", err)
|
||||||
|
@ -86,6 +86,8 @@ var runCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
err := handleRebrand(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -118,6 +120,8 @@ var startCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
err := handleRebrand(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -151,6 +155,8 @@ var stopCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
err := handleRebrand(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -182,6 +188,8 @@ var restartCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
err := handleRebrand(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -13,6 +13,8 @@ var installCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
err := handleRebrand(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -63,6 +65,8 @@ var uninstallCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
err := handleRebrand(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -18,12 +18,9 @@ var statusCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = util.InitLog(logLevel, "console")
|
err := util.InitLog(logLevel, "console")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed initializing log %v", err)
|
return fmt.Errorf("failed initializing log %v", err)
|
||||||
}
|
}
|
||||||
|
@ -17,12 +17,9 @@ var upCmd = &cobra.Command{
|
|||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
SetFlagsFromEnvVars()
|
SetFlagsFromEnvVars()
|
||||||
|
|
||||||
err := handleRebrand(cmd)
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = util.InitLog(logLevel, "console")
|
err := util.InitLog(logLevel, "console")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed initializing log %v", err)
|
return fmt.Errorf("failed initializing log %v", err)
|
||||||
}
|
}
|
||||||
@ -31,6 +28,11 @@ var upCmd = &cobra.Command{
|
|||||||
|
|
||||||
// workaround to run without service
|
// workaround to run without service
|
||||||
if logFile == "console" {
|
if logFile == "console" {
|
||||||
|
err = handleRebrand(cmd)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
config, err := internal.GetConfig(managementURL, adminURL, configPath, preSharedKey)
|
config, err := internal.GetConfig(managementURL, adminURL, configPath, preSharedKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("get config file: %v", err)
|
return fmt.Errorf("get config file: %v", err)
|
||||||
|
@ -10,6 +10,7 @@ var (
|
|||||||
Use: "version",
|
Use: "version",
|
||||||
Short: "prints Netbird version",
|
Short: "prints Netbird version",
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
cmd.SetOut(cmd.OutOrStdout())
|
||||||
cmd.Println(system.WiretrusteeVersion())
|
cmd.Println(system.WiretrusteeVersion())
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
!define COMP_NAME "Netbird"
|
!define COMP_NAME "Netbird"
|
||||||
!define WEB_SITE "Netbird.io"
|
!define WEB_SITE "Netbird.io"
|
||||||
!define VERSION $%APPVER%
|
!define VERSION $%APPVER%
|
||||||
!define COPYRIGHT "Netbird Authors, 2021"
|
!define COPYRIGHT "Netbird Authors, 2022"
|
||||||
!define DESCRIPTION "A WireGuard®-based mesh network that connects your devices into a single private network"
|
!define DESCRIPTION "A WireGuard®-based mesh network that connects your devices into a single private network"
|
||||||
!define INSTALLER_NAME "netbird-installer.exe"
|
!define INSTALLER_NAME "netbird-installer.exe"
|
||||||
!define MAIN_APP_EXE "Netbird"
|
!define MAIN_APP_EXE "Netbird"
|
||||||
@ -51,10 +51,13 @@ ShowInstDetails Show
|
|||||||
!define MUI_UNICON "${ICON}"
|
!define MUI_UNICON "${ICON}"
|
||||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "${BANNER}"
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "${BANNER}"
|
||||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${BANNER}"
|
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${BANNER}"
|
||||||
|
!define MUI_FINISHPAGE_RUN
|
||||||
|
!define MUI_FINISHPAGE_RUN_TEXT "Start ${UI_APP_NAME}"
|
||||||
|
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
!include "MUI2.nsh"
|
!include "MUI2.nsh"
|
||||||
|
!include LogicLib.nsh
|
||||||
|
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_UNABORTWARNING
|
!define MUI_UNABORTWARNING
|
||||||
@ -79,6 +82,66 @@ ShowInstDetails Show
|
|||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
|
Function GetAppFromCommand
|
||||||
|
Exch $1
|
||||||
|
Push $2
|
||||||
|
StrCpy $2 $1 1 0
|
||||||
|
StrCmp $2 '"' 0 done
|
||||||
|
Push $3
|
||||||
|
StrCpy $3 ""
|
||||||
|
loop:
|
||||||
|
IntOp $3 $3 + 1
|
||||||
|
StrCpy $2 $1 1 $3
|
||||||
|
StrCmp $2 '' +2
|
||||||
|
StrCmp $2 '"' 0 loop
|
||||||
|
StrCpy $1 $1 $3
|
||||||
|
StrCpy $1 $1 "" 1 ; Remove starting quote
|
||||||
|
Pop $3
|
||||||
|
done:
|
||||||
|
Pop $2
|
||||||
|
Exch $1
|
||||||
|
FunctionEnd
|
||||||
|
!macro GetAppFromCommand in out
|
||||||
|
Push "${in}"
|
||||||
|
Call GetAppFromCommand
|
||||||
|
Pop ${out}
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!macro UninstallPreviousNSIS UninstCommand CustomParameters
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
Push $2
|
||||||
|
Push '${CustomParameters}'
|
||||||
|
Push '${UninstCommand}'
|
||||||
|
Call GetAppFromCommand ; Remove quotes and parameters from UninstCommand
|
||||||
|
Pop $0
|
||||||
|
Pop $1
|
||||||
|
GetFullPathName $2 "$0\.."
|
||||||
|
ExecWait '"$0" $1 _?=$2'
|
||||||
|
Delete "$0" ; Extra cleanup because we used _?=
|
||||||
|
RMDir "$2"
|
||||||
|
Pop $2
|
||||||
|
Pop $1
|
||||||
|
Pop $0
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
Function .onInit
|
||||||
|
|
||||||
|
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wiretrustee" "UninstallString"
|
||||||
|
${If} $R0 != ""
|
||||||
|
MessageBox MB_YESNO|MB_ICONQUESTION "Wiretrustee is installed. We must remove it before installing Netbird. Procced?" IDNO noWTUninstOld
|
||||||
|
!insertmacro UninstallPreviousNSIS $R0 "/NoMsgBox"
|
||||||
|
noWTUninstOld:
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
|
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^NAME)" "UninstallString"
|
||||||
|
${If} $R0 != ""
|
||||||
|
MessageBox MB_YESNO|MB_ICONQUESTION "$(^NAME) is already installed. Do you want to remove the previous version?" IDNO noUninstOld
|
||||||
|
!insertmacro UninstallPreviousNSIS $R0 "/NoMsgBox"
|
||||||
|
noUninstOld:
|
||||||
|
${EndIf}
|
||||||
|
FunctionEnd
|
||||||
|
######################################################################
|
||||||
Section -MainProgram
|
Section -MainProgram
|
||||||
${INSTALL_TYPE}
|
${INSTALL_TYPE}
|
||||||
SetOverwrite ifnewer
|
SetOverwrite ifnewer
|
||||||
@ -101,19 +164,16 @@ WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "${VERSION}"
|
|||||||
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "${COMP_NAME}"
|
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "${COMP_NAME}"
|
||||||
|
|
||||||
WriteRegStr ${REG_ROOT} "${UI_REG_APP_PATH}" "" "$INSTDIR\${UI_APP_EXE}"
|
WriteRegStr ${REG_ROOT} "${UI_REG_APP_PATH}" "" "$INSTDIR\${UI_APP_EXE}"
|
||||||
WriteRegStr ${REG_ROOT} "${UI_UNINSTALL_PATH}" "DisplayName" "${UI_APP_NAME}"
|
|
||||||
WriteRegStr ${REG_ROOT} "${UI_UNINSTALL_PATH}" "UninstallString" "$INSTDIR\netbird_uninstall.exe"
|
|
||||||
WriteRegStr ${REG_ROOT} "${UI_UNINSTALL_PATH}" "DisplayIcon" "$INSTDIR\${UI_APP_EXE}"
|
|
||||||
WriteRegStr ${REG_ROOT} "${UI_UNINSTALL_PATH}" "DisplayVersion" "${VERSION}"
|
|
||||||
WriteRegStr ${REG_ROOT} "${UI_UNINSTALL_PATH}" "Publisher" "${COMP_NAME}"
|
|
||||||
|
|
||||||
EnVar::SetHKLM
|
EnVar::SetHKLM
|
||||||
EnVar::AddValueEx "path" "$INSTDIR"
|
EnVar::AddValueEx "path" "$INSTDIR"
|
||||||
|
|
||||||
CreateShortCut "${SMPROGRAMS}\${UI_APP_NAME}.lnk" "$INSTDIR\${UI_APP_EXE}"
|
SetShellVarContext current
|
||||||
CreateShortCut "${DESKTOP}\${UI_APP_NAME}.lnk" "$INSTDIR\${UI_APP_EXE}"
|
CreateShortCut "$SMPROGRAMS\${APP_NAME}.lnk" "$INSTDIR\${UI_APP_EXE}"
|
||||||
|
CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${UI_APP_EXE}"
|
||||||
|
SetShellVarContext all
|
||||||
|
|
||||||
Exec '"$INSTDIR\${MAIN_APP_EXE}" service install'
|
ExecWait '"$INSTDIR\${MAIN_APP_EXE}" service install'
|
||||||
Exec '"$INSTDIR\${MAIN_APP_EXE}" service start'
|
Exec '"$INSTDIR\${MAIN_APP_EXE}" service start'
|
||||||
# sleep a bit for visibility
|
# sleep a bit for visibility
|
||||||
Sleep 1000
|
Sleep 1000
|
||||||
@ -124,14 +184,29 @@ SectionEnd
|
|||||||
Section Uninstall
|
Section Uninstall
|
||||||
${INSTALL_TYPE}
|
${INSTALL_TYPE}
|
||||||
|
|
||||||
Exec '"$INSTDIR\${MAIN_APP_EXE}" service stop'
|
ExecWait '"$INSTDIR\${MAIN_APP_EXE}" service stop'
|
||||||
Exec '"$INSTDIR\${MAIN_APP_EXE}" service uninstall'
|
Exec '"$INSTDIR\${MAIN_APP_EXE}" service uninstall'
|
||||||
|
# kill ui client
|
||||||
|
ExecWait `taskkill /im ${UI_APP_EXE}.exe`
|
||||||
# wait the service uninstall take unblock the executable
|
# wait the service uninstall take unblock the executable
|
||||||
Sleep 3000
|
Sleep 3000
|
||||||
RmDir /r "$INSTDIR"
|
RmDir /r "$INSTDIR"
|
||||||
|
|
||||||
|
SetShellVarContext current
|
||||||
|
Delete "$DESKTOP\${APP_NAME}.lnk"
|
||||||
|
Delete "$SMPROGRAMS\${APP_NAME}.lnk"
|
||||||
|
SetShellVarContext all
|
||||||
|
|
||||||
DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}"
|
DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}"
|
||||||
DeleteRegKey ${REG_ROOT} "${UNINSTALL_PATH}"
|
DeleteRegKey ${REG_ROOT} "${UNINSTALL_PATH}"
|
||||||
EnVar::SetHKLM
|
EnVar::SetHKLM
|
||||||
EnVar::DeleteValue "path" "$INSTDIR"
|
EnVar::DeleteValue "path" "$INSTDIR"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
|
||||||
|
Function LaunchLink
|
||||||
|
SetShellVarContext current
|
||||||
|
SetOutPath $INSTDIR
|
||||||
|
ShellExecAsUser::ShellExecAsUser "" "$DESKTOP\${APP_NAME}.lnk"
|
||||||
|
SetShellVarContext all
|
||||||
|
FunctionEnd
|
@ -17,6 +17,22 @@ cask "{{ $projectName }}" do
|
|||||||
|
|
||||||
depends_on formula: "netbird"
|
depends_on formula: "netbird"
|
||||||
|
|
||||||
|
postflight do
|
||||||
|
set_permissions "/Applications/Netbird UI.app/installer.sh", '0755'
|
||||||
|
set_permissions "/Applications/Netbird UI.app/uninstaller.sh", '0755'
|
||||||
|
end
|
||||||
|
|
||||||
|
postflight do
|
||||||
|
system_command "#{appdir}/Netbird UI.app/installer.sh",
|
||||||
|
args: ["#{version}"],
|
||||||
|
sudo: true
|
||||||
|
end
|
||||||
|
|
||||||
|
uninstall_preflight do
|
||||||
|
system_command "#{appdir}/Netbird UI.app/uninstaller.sh",
|
||||||
|
sudo: false
|
||||||
|
end
|
||||||
|
|
||||||
name "Netbird UI"
|
name "Netbird UI"
|
||||||
desc "Netbird UI Client"
|
desc "Netbird UI Client"
|
||||||
homepage "https://www.netbird.io/"
|
homepage "https://www.netbird.io/"
|
||||||
|
33
release_files/darwin-ui-installer.sh
Normal file
33
release_files/darwin-ui-installer.sh
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export PATH=$PATH:/usr/local/bin
|
||||||
|
|
||||||
|
# check if wiretrustee is installed
|
||||||
|
WT_BIN=$(which wiretrustee)
|
||||||
|
if [ -n "$WT_BIN" ]
|
||||||
|
then
|
||||||
|
echo "Stopping and uninstalling Wiretrustee daemon"
|
||||||
|
wiretrustee service stop || true
|
||||||
|
wiretrustee service uninstall || true
|
||||||
|
fi
|
||||||
|
# check if netbird is installed
|
||||||
|
NB_BIN=$(which netbird)
|
||||||
|
if [ -z "$NB_BIN" ]
|
||||||
|
then
|
||||||
|
echo "Netbird daemon is not installed. Please run: brew install netbirdio/tap/netbird"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
NB_UI_VERSION=$1
|
||||||
|
NB_VERSION=$(netbird version)
|
||||||
|
if [ "X-$NB_UI_VERSION" != "X-$NB_VERSION" ]
|
||||||
|
then
|
||||||
|
echo "Netbird's daemon is running with a different version than the Netbird's UI:"
|
||||||
|
echo "Netbird UI Version: $NB_UI_VERSION"
|
||||||
|
echo "Netbird Daemon Version: $NB_VERSION"
|
||||||
|
echo "Please run: brew install netbirdio/tap/netbird"
|
||||||
|
echo "to update it"
|
||||||
|
fi
|
||||||
|
# start netbird daemon service
|
||||||
|
echo "Starting Netbird daemon"
|
||||||
|
netbird service install || true
|
||||||
|
netbird service start || true
|
14
release_files/darwin-ui-uninstaller.sh
Normal file
14
release_files/darwin-ui-uninstaller.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export PATH=$PATH:/usr/local/bin
|
||||||
|
|
||||||
|
# check if netbird is installed
|
||||||
|
NB_BIN=$(which netbird)
|
||||||
|
if [ -z "$NB_BIN" ]
|
||||||
|
then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
# start netbird daemon service
|
||||||
|
echo "netbird daemon service still running. You can uninstall it by running: "
|
||||||
|
echo "sudo netbird service stop"
|
||||||
|
echo "sudo netbird service uninstall"
|
Loading…
Reference in New Issue
Block a user