Support wails package on Windows

This commit is contained in:
Lea Anthony 2023-11-15 20:45:38 +11:00
commit 4ea6a2d120
No known key found for this signature in database
GPG key ID: 33DAF7BB90A58405
12 changed files with 420 additions and 93 deletions

View file

@ -1,5 +1,5 @@
" ",Mac,Windows,Linux
`wails init`,:material-check-bold:," ",:material-check-bold:
`wails build`,:material-check-bold:," ",:material-check-bold:
`wails init`,:material-check-bold:,:material-check-bold:,:material-check-bold:
`wails build`,:material-check-bold:,:material-check-bold:,:material-check-bold:
`wails dev`," "," "," "
`wails package`," "," "," "
`wails package`," ",:material-check-bold:," "

1 Mac Windows Linux
2 `wails init` :material-check-bold: :material-check-bold: :material-check-bold:
3 `wails build` :material-check-bold: :material-check-bold: :material-check-bold:
4 `wails dev`
5 `wails package` :material-check-bold:

View file

@ -22,7 +22,7 @@ type BuildAssetsOptions struct {
ProductDescription string `description:"The description of the product" default:"My Product Description"`
ProductVersion string `description:"The version of the product" default:"0.1.0"`
ProductCompany string `description:"The company of the product" default:"My Company"`
ProductCopyright string `description:"The copyright notice"`
ProductCopyright string `description:"The copyright notice" default:"(c) now, My Company"`
ProductComments string `description:"Comments to add to the generated files" default:"This is a comment"`
ProductIdentifier string `description:"The product identifier, e.g com.mycompany.myproduct"`
Silent bool `description:"Suppress output to console"`

View file

@ -4,7 +4,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleName</key>
<string>My Productname</string>
<string>{{.ProductName}}</string>
<key>CFBundleExecutable</key>
<string>{{.Name}}</string>
<key>CFBundleIdentifier</key>

View file

@ -0,0 +1,108 @@
Unicode true
####
## 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.
## If they are defined here, "wails_tools.nsh" will not touch them. This allows you 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 wails_tools.nsh file, but they can be overwritten here.
####
## !define INFO_PROJECTNAME "my-project" # Default "{{.Name}}"
## !define INFO_COMPANYNAME "My Company" # Default "{{.ProductCompany}}"
## !define INFO_PRODUCTNAME "My Product Name" # Default "{{.ProductName}}"
## !define INFO_PRODUCTVERSION "1.0.0" # Default "{{.ProductVersion}}"
## !define INFO_COPYRIGHT "(c) Now, My Company" # Default "{{.ProductCopyright}}"
###
## !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 parts
VIProductVersion "${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/ManifestDPIAware
ManifestDPIAware true
!include "MUI.nsh"
!define MUI_ICON "..\icon.ico"
!define MUI_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
!define MUI_FINISHPAGE_NOAUTOCLOSE # Wait on the INSTFILES page so the user can take a look into the details of the installation steps
!define MUI_ABORTWARNING # This will warn the user if they exit from the installer.
!insertmacro MUI_PAGE_WELCOME # Welcome to the installer page.
# !insertmacro MUI_PAGE_LICENSE "resources\eula.txt" # Adds a EULA page to the installer
!insertmacro MUI_PAGE_DIRECTORY # In which folder install page.
!insertmacro MUI_PAGE_INSTFILES # Installing page.
!insertmacro MUI_PAGE_FINISH # Finished installation page.
!insertmacro MUI_UNPAGE_INSTFILES # Uninstalling page
!insertmacro MUI_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.
InstallDir "$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}" # Default installing folder ($PROGRAMFILES is Program Files folder).
ShowInstDetails show # This will always show the installation details.
Function .onInit
!insertmacro wails.checkArchitecture
FunctionEnd
Section
!insertmacro wails.setShellContext
!insertmacro wails.webview2runtime
SetOutPath $INSTDIR
!insertmacro wails.files
CreateShortcut "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
CreateShortCut "$DESKTOP\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
!insertmacro wails.writeUninstaller
SectionEnd
Section "uninstall"
!insertmacro wails.setShellContext
RMDir /r "$AppData\${PRODUCT_EXECUTABLE}" # Remove the WebView2 DataPath
RMDir /r $INSTDIR
Delete "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk"
Delete "$DESKTOP\${INFO_PRODUCTNAME}.lnk"
!insertmacro wails.deleteUninstaller
SectionEnd

View file

@ -0,0 +1,179 @@
# DO NOT EDIT - Generated automatically by `wails build`
!include "x64.nsh"
!include "WinVer.nsh"
!include "FileFunc.nsh"
!ifndef INFO_PROJECTNAME
!define INFO_PROJECTNAME "{{.Name}}"
!endif
!ifndef INFO_COMPANYNAME
!define INFO_COMPANYNAME "{{.ProductCompany}}"
!endif
!ifndef INFO_PRODUCTNAME
!define INFO_PRODUCTNAME "{{.ProductName}}"
!endif
!ifndef INFO_PRODUCTVERSION
!define INFO_PRODUCTVERSION "{{.ProductVersion}}"
!endif
!ifndef INFO_COPYRIGHT
!define INFO_COPYRIGHT "{{.ProductCopyright}}"
!endif
!ifndef PRODUCT_EXECUTABLE
!define PRODUCT_EXECUTABLE "${INFO_PROJECTNAME}.exe"
!endif
!ifndef UNINST_KEY_NAME
!define UNINST_KEY_NAME "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"
!endif
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINST_KEY_NAME}"
!ifndef REQUEST_EXECUTION_LEVEL
!define REQUEST_EXECUTION_LEVEL "admin"
!endif
RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}"
!ifdef ARG_WAILS_AMD64_BINARY
!define SUPPORTS_AMD64
!endif
!ifdef ARG_WAILS_ARM64_BINARY
!define SUPPORTS_ARM64
!endif
!ifdef SUPPORTS_AMD64
!ifdef SUPPORTS_ARM64
!define ARCH "amd64_arm64"
!else
!define ARCH "amd64"
!endif
!else
!ifdef SUPPORTS_ARM64
!define ARCH "arm64"
!else
!error "Wails: Undefined ARCH, please provide at least one of ARG_WAILS_AMD64_BINARY or ARG_WAILS_ARM64_BINARY"
!endif
!endif
!macro wails.checkArchitecture
!ifndef WAILS_WIN10_REQUIRED
!define WAILS_WIN10_REQUIRED "This product is only supported on Windows 10 (Server 2016) and later."
!endif
!ifndef WAILS_ARCHITECTURE_NOT_SUPPORTED
!define WAILS_ARCHITECTURE_NOT_SUPPORTED "This product can't be installed on the current Windows architecture. Supports: ${ARCH}"
!endif
${If} ${AtLeastWin10}
!ifdef SUPPORTS_AMD64
${if} ${IsNativeAMD64}
Goto ok
${EndIf}
!endif
!ifdef SUPPORTS_ARM64
${if} ${IsNativeARM64}
Goto ok
${EndIf}
!endif
IfSilent silentArch notSilentArch
silentArch:
SetErrorLevel 65
Abort
notSilentArch:
MessageBox MB_OK "${WAILS_ARCHITECTURE_NOT_SUPPORTED}"
Quit
${else}
IfSilent silentWin notSilentWin
silentWin:
SetErrorLevel 64
Abort
notSilentWin:
MessageBox MB_OK "${WAILS_WIN10_REQUIRED}"
Quit
${EndIf}
ok:
!macroend
!macro wails.files
!ifdef SUPPORTS_AMD64
${if} ${IsNativeAMD64}
File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_AMD64_BINARY}"
${EndIf}
!endif
!ifdef SUPPORTS_ARM64
${if} ${IsNativeARM64}
File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_ARM64_BINARY}"
${EndIf}
!endif
!macroend
!macro wails.writeUninstaller
WriteUninstaller "$INSTDIR\uninstall.exe"
SetRegView 64
WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}"
WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}"
WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}"
WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}"
WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
IntFmt $0 "0x%08X" $0
WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0"
!macroend
!macro wails.deleteUninstaller
Delete "$INSTDIR\uninstall.exe"
SetRegView 64
DeleteRegKey HKLM "${UNINST_KEY}"
!macroend
!macro wails.setShellContext
${If} ${REQUEST_EXECUTION_LEVEL} == "admin"
SetShellVarContext all
${else}
SetShellVarContext current
${EndIf}
!macroend
# Install webview2 by launching the bootstrapper
# See https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#online-only-deployment
!macro wails.webview2runtime
!ifndef WAILS_INSTALL_WEBVIEW_DETAILPRINT
!define WAILS_INSTALL_WEBVIEW_DETAILPRINT "Installing: WebView2 Runtime"
!endif
SetRegView 64
# If the admin key exists and is not empty then webview2 is already installed
ReadRegStr $0 HKLM "SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
${If} $0 != ""
Goto ok
${EndIf}
${If} ${REQUEST_EXECUTION_LEVEL} == "user"
# If the installer is run in user level, check the user specific key exists and is not empty then webview2 is already installed
ReadRegStr $0 HKCU "Software\Microsoft\EdgeUpdate\Clients{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
${If} $0 != ""
Goto ok
${EndIf}
${EndIf}
SetDetailsPrint both
DetailPrint "${WAILS_INSTALL_WEBVIEW_DETAILPRINT}"
SetDetailsPrint listonly
InitPluginsDir
CreateDirectory "$pluginsdir\webview2bootstrapper"
SetOutPath "$pluginsdir\webview2bootstrapper"
File "MicrosoftEdgeWebview2Setup.exe"
ExecWait '"$pluginsdir\webview2bootstrapper\MicrosoftEdgeWebview2Setup.exe" /silent /install'
SetDetailsPrint both
ok:
!macroend

View file

@ -12,6 +12,7 @@ import (
)
func Init(options *flags.Init) error {
if options.List {
return printTemplates()
}
@ -37,9 +38,16 @@ func Init(options *flags.Init) error {
// Generate build assets
buildAssetsOptions := &BuildAssetsOptions{
Name: options.ProjectName,
Dir: filepath.Join(options.ProjectDir, "build"),
Silent: true,
Name: options.ProjectName,
Dir: filepath.Join(options.ProjectDir, "build"),
Silent: true,
ProductComments: options.ProductComments,
ProductCompany: options.ProductCompany,
ProductDescription: options.ProductDescription,
ProductName: options.ProductName,
ProductVersion: options.ProductVersion,
ProductIdentifier: options.ProductIdentifier,
ProductCopyright: options.ProductCopyright,
}
return GenerateBuildAssets(buildAssetsOptions)
}

View file

@ -3,10 +3,17 @@ package flags
type Init struct {
Common
PackageName string `name:"p" description:"Package name" default:"main"`
TemplateName string `name:"t" description:"Name of built-in template to use, path to template or template url" default:"vanilla"`
ProjectName string `name:"n" description:"Name of project" default:""`
ProjectDir string `name:"d" description:"Project directory" default:"."`
Quiet bool `name:"q" description:"Suppress output to console"`
List bool `name:"l" description:"List templates"`
PackageName string `name:"p" description:"Package name" default:"main"`
TemplateName string `name:"t" description:"Name of built-in template to use, path to template or template url" default:"vanilla"`
ProjectName string `name:"n" description:"Name of project" default:""`
ProjectDir string `name:"d" description:"Project directory" default:"."`
Quiet bool `name:"q" description:"Suppress output to console"`
List bool `name:"l" description:"List templates"`
ProductName string `description:"The name of the product" default:"My Product"`
ProductDescription string `description:"The description of the product" default:"My Product Description"`
ProductVersion string `description:"The version of the product" default:"0.1.0"`
ProductCompany string `description:"The company of the product" default:"My Company"`
ProductCopyright string `description:"The copyright notice" default:"(c) now, My Company"`
ProductComments string `description:"Comments to add to the generated files" default:"This is a comment"`
ProductIdentifier string `description:"The product identifier, e.g com.mycompany.myproduct"`
}

View file

@ -5,7 +5,7 @@ vars:
tasks:
## -------------------------- Build -------------------------- ##
## -------------------------- Build -------------------------- ##
build:
summary: Builds the application
@ -15,7 +15,7 @@ tasks:
- task: build:windows
## --- Windows ---
## --- Windows ---
build:windows:
summary: Builds the application for Windows
@ -25,7 +25,7 @@ tasks:
- task: build:frontend
- go build -gcflags=all="-N -l" -o bin/{{.ProjectName}}.exe
## --- Darwin ---
## --- Darwin ---
build:darwin:
summary: Builds the application
@ -50,7 +50,7 @@ tasks:
- task: build:frontend
- go build -gcflags=all="-N -l" -o bin/{{.ProjectName}}
## -------------------------- Package -------------------------- ##
## -------------------------- Package -------------------------- ##
package:
summary: Packages a production build of the application into a bundle
@ -67,45 +67,78 @@ tasks:
## --- Windows AMD64 ---
package:windows:amd64:
build:app:prod:windows:amd64:
summary: Packages a production build of the application into a `.exe` bundle
platform: windows/amd64
platforms: [ windows/amd64 ]
deps:
- build:frontend
- generate:icons
- generate:syso:amd64
# --- Uncomment this to speed up builds, but you need to make sure `sources` includes all the files you need to build your binary
# sources:
# - "*"
# generates:
# - "bin/{{ "{{.APP_NAME}}" }}.exe"
cmds:
- task: generate:syso:amd64
- GOOS=windows GOARCH=amd64 go build -tags production -ldflags="-w -s -H windowsgui" -o bin/{{ "{{.APP_NAME}}" }}.exe
- powershell Remove-item wails.syso
## --- Windows ARM64 ---
package:windows:arm64:
build:app:prod:windows:arm64:
summary: Packages a production build of the application into a `.exe` bundle
platform: windows/arm64
platforms: [ windows/arm64 ]
deps:
- build:frontend
- generate:icons
- generate:syso:arm64
# --- Uncomment this to speed up builds, but you need to make sure `sources` includes all the files you need to build your binary
# sources:
# - "*"
# generates:
# - "bin/{{ "{{.APP_NAME}}" }}.exe"
cmds:
- task: generate:syso:arm64
- GOOS=windows GOARCH=arm64 go build -tags production -ldflags="-w -s -H windowsgui" -o bin/{{ "{{.APP_NAME}}" }}.exe
- powershell Remove-item wails.syso
## --- Windows Default ---
package:windows:
build:app:prod:windows:
summary: Packages a production build of the application into a `.exe` bundle
platform: windows
platforms: [ windows ]
deps:
- generate:icons
- generate:syso
# --- Uncomment this to speed up builds, but you need to make sure `sources` includes all the files you need to build your binary
# sources:
# - "*"
# generates:
# - "bin/{{ "{{.APP_NAME}}" }}.exe"
cmds:
- task: generate:syso
- go build -tags production -ldflags="-w -s -H windowsgui" -o bin/{{ "{{.APP_NAME}}" }}.exe
- powershell Remove-item wails.syso
## ------ Package Windows ------
package:windows:arm64:
summary: Packages a production build of the application into a `.exe` bundle
cmds:
- task: create:nsis:installer:arm64
package:windows:amd64:
summary: Packages a production build of the application into a `.exe` bundle
cmds:
- task: create:nsis:installer:amd64
package:windows:
summary: Packages a production build of the application into a `.exe` bundle
cmds:
- task: create:nsis:installer:{{ "{{ARCH}}" }}
## --- Darwin ARM64 ---
package:darwin:arm64:
summary: Packages a production build of the application into a `.app` bundle
platform: darwin/arm64
platforms: [ darwin/arm64 ]
deps:
- task: build:app:prod:darwin
vars:
@ -118,7 +151,7 @@ tasks:
package:darwin:amd64:
summary: Packages a production build of the application into a `.app` bundle
platform: darwin/amd64
platforms: [ darwin/amd64 ]
deps:
- task: build:app:prod:darwin
vars:
@ -131,6 +164,7 @@ tasks:
package:darwin:
summary: Packages a production build of the application into a `.app` bundle
platforms: [ darwin ]
deps:
- task: build:app:prod:darwin
- generate:icons
@ -138,7 +172,7 @@ tasks:
- task: create:app:bundle
## -------------------------- Misc -------------------------- ##
## -------------------------- Misc -------------------------- ##
create:app:bundle:
summary: Creates an `.app` bundle
@ -183,6 +217,12 @@ tasks:
generate:icons:
summary: Generates Windows `.ico` and Mac `.icns` files from an image
dir: build
sources:
- "appicon.png"
generates:
- "icons.icns"
- "icons.ico"
method: timestamp
cmds:
# Generates both .ico and .icns files
- wails3 generate icons -input appicon.png
@ -190,21 +230,39 @@ tasks:
generate:syso:arm64:
summary: Generates Windows `.syso` file
dir: build
platform: windows/arm64
sources:
- "icon.ico"
- "wails.exe.manifest"
- "info.json"
generates:
- "wails.syso"
method: timestamp
cmds:
- wails3 generate syso -arch arm64 -icon icon.ico -manifest wails.exe.manifest -info info.json -out ../wails.syso
generate:syso:amd64:
summary: Generates Windows `.syso` file
dir: build
platform: windows/amd64
sources:
- "icon.ico"
- "wails.exe.manifest"
- "info.json"
generates:
- "wails.syso"
method: timestamp
cmds:
- wails3 generate syso -arch amd64 -icon icon.ico -manifest wails.exe.manifest -info info.json -out ../wails.syso
generate:syso:
summary: Generates Windows `.syso` file
dir: build
platform: windows
sources:
- "icon.ico"
- "wails.exe.manifest"
- "info.json"
generates:
- "wails.syso"
method: timestamp
cmds:
- wails3 generate syso -icon icon.ico -manifest wails.exe.manifest -info info.json -out ../wails.syso
@ -226,9 +284,35 @@ tasks:
build:frontend:
summary: Build the frontend project
dir: frontend
sources:
- "*"
generates:
- dist/*
deps:
- install:frontend:deps
cmds:
- npm run build
create:nsis:installer:amd64:
summary: Creates an NSIS installer
dir: build/nsis
sources:
- "{{ "{{.ROOT_DIR}}"}}\\bin\\{{ "{{.APP_NAME}}"}}.exe"
generates:
- "{{ "{{.ROOT_DIR}}"}}\\bin\\{{ "{{.APP_NAME}}"}}-amd64-installer.exe"
deps:
- task: build:app:prod:windows:amd64
cmds:
- makensis -DARG_WAILS_AMD64_BINARY="{{ "{{.ROOT_DIR}}"}}\bin\{{ "{{.APP_NAME}}"}}.exe" project.nsi
create:nsis:installer:arm64:
summary: Creates an NSIS installer
dir: build/nsis
sources:
- "{{ "{{.ROOT_DIR}}"}}\\bin\\{{ "{{.APP_NAME}}"}}.exe"
generates:
- "{{ "{{.ROOT_DIR}}"}}\\bin\\{{ "{{.APP_NAME}}"}}-arm64-installer.exe.exe"
deps:
- task: build:app:prod:windows:arm64
cmds:
- makensis -DARG_WAILS_ARM64_BINARY="{{ "{{.ROOT_DIR}}"}}\bin\{{ "{{.APP_NAME}}"}}.exe" project.nsi

View file

@ -1,32 +0,0 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleName</key>
<string>My Product Name</string>
<key>CFBundleExecutable</key>
<string>{{.ProjectName}}</string>
<key>CFBundleIdentifier</key>
<string>com.wails.{{.ProjectName}}</string>
<key>CFBundleVersion</key>
<string>v1.0.0</string>
<key>CFBundleGetInfoString</key>
<string>This is a comment</string>
<key>CFBundleShortVersionString</key>
<string>v1.0.0</string>
<key>CFBundleIconFile</key>
<string>icons</string>
<key>LSMinimumSystemVersion</key>
<string>10.13.0</string>
<key>NSHighResolutionCapable</key>
<string>true</string>
<key>NSHumanReadableCopyright</key>
<string>(c) 2023 My Company Name</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
</dict>
</plist>

View file

@ -1,27 +0,0 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleName</key>
<string>My Product Name</string>
<key>CFBundleExecutable</key>
<string>{{.ProjectName}}</string>
<key>CFBundleIdentifier</key>
<string>com.wails.{{.ProjectName}}</string>
<key>CFBundleVersion</key>
<string>v1.0.0</string>
<key>CFBundleGetInfoString</key>
<string>This is a comment</string>
<key>CFBundleShortVersionString</key>
<string>v1.0.0</string>
<key>CFBundleIconFile</key>
<string>icons</string>
<key>LSMinimumSystemVersion</key>
<string>10.13.0</string>
<key>NSHighResolutionCapable</key>
<string>true</string>
<key>NSHumanReadableCopyright</key>
<string>(c) 2023 My Company Name</string>
</dict>
</plist>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB