|
27 | 27 | !endif |
28 | 28 | !define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINST_KEY_NAME}" |
29 | 29 |
|
| 30 | +!ifndef WAILS_INSTALL_SCOPE |
| 31 | + !define WAILS_INSTALL_SCOPE "machine" |
| 32 | +!endif |
| 33 | + |
30 | 34 | !ifndef REQUEST_EXECUTION_LEVEL |
31 | | - !define REQUEST_EXECUTION_LEVEL "admin" |
| 35 | + !if "${WAILS_INSTALL_SCOPE}" == "user" |
| 36 | + !define REQUEST_EXECUTION_LEVEL "user" |
| 37 | + !else |
| 38 | + !define REQUEST_EXECUTION_LEVEL "admin" |
| 39 | + !endif |
32 | 40 | !endif |
33 | 41 |
|
34 | 42 | RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}" |
@@ -115,23 +123,40 @@ RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}" |
115 | 123 | WriteUninstaller "$INSTDIR\uninstall.exe" |
116 | 124 |
|
117 | 125 | SetRegView 64 |
118 | | - WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}" |
119 | | - WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}" |
120 | | - WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}" |
121 | | - WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}" |
122 | | - WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" |
123 | | - WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" |
124 | | - |
125 | | - ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 |
126 | | - IntFmt $0 "0x%08X" $0 |
127 | | - WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0" |
| 126 | + !if "${WAILS_INSTALL_SCOPE}" == "user" |
| 127 | + WriteRegStr HKCU "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}" |
| 128 | + WriteRegStr HKCU "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}" |
| 129 | + WriteRegStr HKCU "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}" |
| 130 | + WriteRegStr HKCU "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}" |
| 131 | + WriteRegStr HKCU "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" |
| 132 | + WriteRegStr HKCU "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" |
| 133 | + |
| 134 | + ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 |
| 135 | + IntFmt $0 "0x%08X" $0 |
| 136 | + WriteRegDWORD HKCU "${UNINST_KEY}" "EstimatedSize" "$0" |
| 137 | + !else |
| 138 | + WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}" |
| 139 | + WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}" |
| 140 | + WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}" |
| 141 | + WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}" |
| 142 | + WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" |
| 143 | + WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" |
| 144 | + |
| 145 | + ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 |
| 146 | + IntFmt $0 "0x%08X" $0 |
| 147 | + WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0" |
| 148 | + !endif |
128 | 149 | !macroend |
129 | 150 |
|
130 | 151 | !macro wails.deleteUninstaller |
131 | 152 | Delete "$INSTDIR\uninstall.exe" |
132 | 153 |
|
133 | 154 | SetRegView 64 |
134 | | - DeleteRegKey HKLM "${UNINST_KEY}" |
| 155 | + !if "${WAILS_INSTALL_SCOPE}" == "user" |
| 156 | + DeleteRegKey HKCU "${UNINST_KEY}" |
| 157 | + !else |
| 158 | + DeleteRegKey HKLM "${UNINST_KEY}" |
| 159 | + !endif |
135 | 160 | !macroend |
136 | 161 |
|
137 | 162 | !macro wails.setShellContext |
|
0 commit comments