Unicodetrue###### Please note: Template replacements don't work in this file. They are provided with default defines like## mentioned underneath.## If the keyword is not defined, "wails_tools.nsh" will populate them with the values from ProjectInfo.## If they are defined here, "wails_tools.nsh" will not touch them. This allows to use this project.nsi manually## from outside of Wails for debugging and development of the installer.#### For development first make a wails nsis build to populate the "wails_tools.nsh":## > wails build --target windows/amd64 --nsis## Then you can call makensis on this file with specifying the path to your binary:## For a AMD64 only installer:## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app.exe## For a ARM64 only installer:## > makensis -DARG_WAILS_ARM64_BINARY=..\..\bin\app.exe## For a installer with both architectures:## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app-amd64.exe -DARG_WAILS_ARM64_BINARY=..\..\bin\app-arm64.exe###### The following information is taken from the ProjectInfo file, but they can be overwritten here.###### !define INFO_PROJECTNAME "MyProject" # Default "{{.Name}}"## !define INFO_COMPANYNAME "MyCompany" # Default "{{.Info.CompanyName}}"## !define INFO_PRODUCTNAME "MyProduct" # Default "{{.Info.ProductName}}"## !define INFO_PRODUCTVERSION "1.0.0" # Default "{{.Info.ProductVersion}}"## !define INFO_COPYRIGHT "Copyright" # Default "{{.Info.Copyright}}"##### !define PRODUCT_EXECUTABLE "Application.exe" # Default "${INFO_PROJECTNAME}.exe"## !define UNINST_KEY_NAME "UninstKeyInRegistry" # Default "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"###### !define REQUEST_EXECUTION_LEVEL "admin" # Default "admin" see also https://nsis.sourceforge.io/Docs/Chapter4.html###### Include the wails tools####!include"wails_tools.nsh"# The version information for this two must consist of 4 partsVIProductVersion"${INFO_PRODUCTVERSION}.0"VIFileVersion"${INFO_PRODUCTVERSION}.0"VIAddVersionKey"CompanyName""${INFO_COMPANYNAME}"VIAddVersionKey"FileDescription""${INFO_PRODUCTNAME} Installer"VIAddVersionKey"ProductVersion""${INFO_PRODUCTVERSION}"VIAddVersionKey"FileVersion""${INFO_PRODUCTVERSION}"VIAddVersionKey"LegalCopyright""${INFO_COPYRIGHT}"VIAddVersionKey"ProductName""${INFO_PRODUCTNAME}"# Enable HiDPI support. https://nsis.sourceforge.io/Reference/ManifestDPIAwareManifestDPIAwaretrue!include"MUI.nsh"!defineMUI_ICON"..\icon.ico"!defineMUI_UNICON"..\icon.ico"# !define MUI_WELCOMEFINISHPAGE_BITMAP "resources\leftimage.bmp" #Include this to add a bitmap on the left side of the Welcome Page. Must be a size of 164x314!defineMUI_FINISHPAGE_NOAUTOCLOSE# Wait on the INSTFILES page so the user can take a look into the details of the installation steps!defineMUI_ABORTWARNING# This will warn the user if they exit from the installer.!insertmacroMUI_PAGE_WELCOME# Welcome to the installer page.# !insertmacro MUI_PAGE_LICENSE "resources\eula.txt" # Adds a EULA page to the installer!insertmacroMUI_PAGE_DIRECTORY# In which folder install page.!insertmacroMUI_PAGE_INSTFILES# Installing page.!insertmacroMUI_PAGE_FINISH# Finished installation page.!insertmacroMUI_UNPAGE_INSTFILES# Uinstalling page!insertmacroMUI_LANGUAGE"English"# Set the Language of the installer## The following two statements can be used to sign the installer and the uninstaller. The path to the binaries are provided in %1#!uninstfinalize 'signtool --file "%1"'#!finalize 'signtool --file "%1"'Name"${INFO_PRODUCTNAME}"OutFile"..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe"# Name of the installer's file.!ifdefWAILS_INSTALL_SCOPE!if"${WAILS_INSTALL_SCOPE}"=="user"InstallDir"$LOCALAPPDATA\Programs\${INFO_PRODUCTNAME}"!elseInstallDir"$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}"!endif!elseInstallDir"$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}"!endif# Default installing folder ($PROGRAMFILES is Program Files folder).ShowInstDetailsshow# This will always show the installation details.Function.onInit!insertmacrowails.checkArchitectureFunctionEndSection!insertmacrowails.setShellContext!insertmacrowails.webview2runtimeSetOutPath$INSTDIR!insertmacrowails.filesCreateShortcut"$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk""$INSTDIR\${PRODUCT_EXECUTABLE}"CreateShortCut"$DESKTOP\${INFO_PRODUCTNAME}.lnk""$INSTDIR\${PRODUCT_EXECUTABLE}"!insertmacrowails.associateFiles!insertmacrowails.associateCustomProtocols!insertmacrowails.writeUninstallerSectionEndSection"uninstall"!insertmacrowails.setShellContextRMDir/r"$AppData\${PRODUCT_EXECUTABLE}"# Remove the WebView2 DataPathRMDir/r$INSTDIRDelete"$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk"Delete"$DESKTOP\${INFO_PRODUCTNAME}.lnk"!insertmacrowails.unassociateFiles!insertmacrowails.unassociateCustomProtocols!insertmacrowails.deleteUninstallerSectionEnd
One first-party cookie so a repeat visit isn't counted twice. No cross-site tracking, nothing stored until you accept. Cookie Policy.