Warning, /frameworks/syntax-highlighting/autotests/reference/installer_krita.nsi.ref is written in an unsupported language. File is not indexed.

0001 <Symbol>!</Symbol><Keyword>ifndef</Keyword><Normal Text> KRITA_INSTALLER_32 </Normal Text><Symbol>&</Symbol><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0002 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>error</Keyword><Normal Text> </Normal Text><String>"Either one of KRITA_INSTALLER_32 or KRITA_INSTALLER_64 must be defined."</String><br/>
0003 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0004 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_32 </Normal Text><Symbol>&</Symbol><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0005 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>error</Keyword><Normal Text> </Normal Text><String>"Only one of KRITA_INSTALLER_32 or KRITA_INSTALLER_64 should be defined."</String><br/>
0006 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0007 <Normal Text></Normal Text><br/>
0008 <Symbol>!</Symbol><Keyword>ifndef</Keyword><Normal Text> KRITA_PACKAGE_ROOT</Normal Text><br/>
0009 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>error</Keyword><Normal Text> </Normal Text><String>"KRITA_PACKAGE_ROOT should be defined and point to the root of the package files."</String><br/>
0010 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0011 <Normal Text></Normal Text><br/>
0012 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0013 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_INSTALLER_BITNESS 64</Normal Text><br/>
0014 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0015 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_INSTALLER_BITNESS 32</Normal Text><br/>
0016 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0017 <Normal Text></Normal Text><br/>
0018 <BaseFunc>Unicode</BaseFunc><Normal Text> true</Normal Text><br/>
0019 <Normal Text># Enabling DPI awareness creates awful CJK text in some sizes</Normal Text><Symbol>,</Symbol><Normal Text> so don't enable it.</Normal Text><br/>
0020 <BaseFunc>ManifestDPIAware</BaseFunc><Normal Text> false</Normal Text><br/>
0021 <Normal Text></Normal Text><br/>
0022 <Normal Text># Krita constants </Normal Text><Symbol>(</Symbol><Normal Text>can be overridden in command line params</Normal Text><Symbol>)</Symbol><br/>
0023 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> /</Normal Text><Keyword>ifndef</Keyword><Normal Text> KRITA_VERSION </Normal Text><String>"0.0.0.0"</String><br/>
0024 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> /</Normal Text><Keyword>ifndef</Keyword><Normal Text> KRITA_VERSION_DISPLAY </Normal Text><String>"test-version"</String><br/>
0025 <Normal Text>#</Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> /</Normal Text><Keyword>ifndef</Keyword><Normal Text> KRITA_VERSION_GIT </Normal Text><String>""</String><br/>
0026 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> /</Normal Text><Keyword>ifndef</Keyword><Normal Text> KRITA_INSTALLER_OUTPUT_DIR </Normal Text><String>""</String><br/>
0027 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0028 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> /</Normal Text><Keyword>ifndef</Keyword><Normal Text> KRITA_INSTALLER_OUTPUT_NAME </Normal Text><String>"krita_x64_setup.exe"</String><br/>
0029 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0030 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> /</Normal Text><Keyword>ifndef</Keyword><Normal Text> KRITA_INSTALLER_OUTPUT_NAME </Normal Text><String>"krita_x86_setup.exe"</String><br/>
0031 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0032 <Normal Text></Normal Text><br/>
0033 <Normal Text># Krita constants </Normal Text><Symbol>(</Symbol><Normal Text>fixed</Normal Text><Symbol>)</Symbol><br/>
0034 <Symbol>!</Symbol><Keyword>if</Keyword><Normal Text> </Normal Text><String>"${KRITA_INSTALLER_OUTPUT_DIR}"</String><Normal Text> </Normal Text><Symbol>==</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0035 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_INSTALLER_OUTPUT </Normal Text><String>"${KRITA_INSTALLER_OUTPUT_NAME}"</String><br/>
0036 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0037 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_INSTALLER_OUTPUT </Normal Text><String>"${KRITA_INSTALLER_OUTPUT_DIR}\${KRITA_INSTALLER_OUTPUT_NAME}"</String><br/>
0038 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0039 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRTIA_PUBLISHER </Normal Text><String>"Krita Foundation"</String><br/>
0040 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0041 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_PRODUCTNAME </Normal Text><String>"Krita (x64)"</String><br/>
0042 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_UNINSTALL_REGKEY </Normal Text><String>"Krita_x64"</String><br/>
0043 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0044 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_PRODUCTNAME </Normal Text><String>"Krita (x86)"</String><br/>
0045 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_UNINSTALL_REGKEY </Normal Text><String>"Krita_x86"</String><br/>
0046 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0047 <Normal Text></Normal Text><br/>
0048 <BaseFunc>VIProductVersion</BaseFunc><Normal Text> </Normal Text><String>"${KRITA_VERSION}"</String><br/>
0049 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"CompanyName"</String><Normal Text> </Normal Text><String>"${KRTIA_PUBLISHER}"</String><br/>
0050 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"FileDescription"</String><Normal Text> </Normal Text><String>"${KRITA_PRODUCTNAME} ${KRITA_VERSION_DISPLAY} Setup"</String><br/>
0051 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"FileVersion"</String><Normal Text> </Normal Text><String>"${KRITA_VERSION}"</String><br/>
0052 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"InternalName"</String><Normal Text> </Normal Text><String>"${KRITA_INSTALLER_OUTPUT_NAME}"</String><br/>
0053 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"LegalCopyright"</String><Normal Text> </Normal Text><String>"${KRTIA_PUBLISHER}"</String><br/>
0054 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"OriginalFileName"</String><Normal Text> </Normal Text><String>"${KRITA_INSTALLER_OUTPUT_NAME}"</String><br/>
0055 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"ProductName"</String><Normal Text> </Normal Text><String>"${KRITA_PRODUCTNAME} ${KRITA_VERSION_DISPLAY} Setup"</String><br/>
0056 <BaseFunc>VIAddVersionKey</BaseFunc><Normal Text> </Normal Text><String>"ProductVersion"</String><Normal Text> </Normal Text><String>"${KRITA_VERSION}"</String><br/>
0057 <Normal Text></Normal Text><br/>
0058 <BaseFunc>BrandingText</BaseFunc><Normal Text> </Normal Text><String>"[NSIS ${NSIS_VERSION}]  ${KRITA_PRODUCTNAME} ${KRITA_VERSION}"</String><br/>
0059 <Normal Text></Normal Text><br/>
0060 <BaseFunc>Name</BaseFunc><Normal Text> </Normal Text><String>"${KRITA_PRODUCTNAME} ${KRITA_VERSION_DISPLAY}"</String><br/>
0061 <BaseFunc>OutFile</BaseFunc><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_INSTALLER_OUTPUT</Normal Text><Symbol>}</Symbol><br/>
0062 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0063 <Normal Text>   </Normal Text><BaseFunc>InstallDir</BaseFunc><Normal Text> </Normal Text><String>"$PROGRAMFILES64\Krita (x64)"</String><br/>
0064 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0065 <Normal Text>   </Normal Text><BaseFunc>InstallDir</BaseFunc><Normal Text> </Normal Text><String>"$PROGRAMFILES32\Krita (x86)"</String><br/>
0066 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0067 <Normal Text>XPstyle on</Normal Text><br/>
0068 <Normal Text></Normal Text><br/>
0069 <BaseFunc>ShowInstDetails</BaseFunc><Normal Text> show</Normal Text><br/>
0070 <BaseFunc>ShowUninstDetails</BaseFunc><Normal Text> show</Normal Text><br/>
0071 <Normal Text></Normal Text><br/>
0072 <BaseFunc>Var</BaseFunc><Normal Text> KritaStartMenuFolder</Normal Text><br/>
0073 <BaseFunc>Var</BaseFunc><Normal Text> CreateDesktopIcon</Normal Text><br/>
0074 <Normal Text></Normal Text><br/>
0075 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> MUI2.nsh</Normal Text><br/>
0076 <Normal Text></Normal Text><br/>
0077 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_FINISHPAGE_NOAUTOCLOSE</Macro><br/>
0078 <Normal Text></Normal Text><br/>
0079 <Normal Text># Installer Pages</Normal Text><br/>
0080 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_WELCOME</Macro><br/>
0081 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_LICENSEPAGE_CHECKBOX</Macro><br/>
0082 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_LICENSE</Macro><Normal Text> </Normal Text><String>"license_gpl-3.0.rtf"</String><br/>
0083 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_DIRECTORY</Macro><br/>
0084 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_COMPONENTS</Macro><br/>
0085 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_CUSTOMFUNCTION_PRE</Macro><Normal Text>  func_ShellExLicensePage_Init</Normal Text><br/>
0086 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_HEADER_TEXT</Macro><Normal Text> </Normal Text><String>"$(ShellExLicensePageHeader)"</String><br/>
0087 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_LICENSE</Macro><Normal Text> </Normal Text><String>"license.rtf"</String><br/>
0088 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENUPAGE_DEFAULTFOLDER</Macro><Normal Text> </Normal Text><String>"Krita"</String><br/>
0089 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENUPAGE_REGISTRY_ROOT</Macro><Normal Text> HKLM</Normal Text><br/>
0090 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENUPAGE_REGISTRY_KEY</Macro><Normal Text> </Normal Text><String>"Software\Krita"</String><br/>
0091 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENUPAGE_REGISTRY_VALUENAME</Macro><Normal Text> </Normal Text><String>"StartMenuFolder"</String><br/>
0092 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENUPAGE_NODISABLE</Macro><br/>
0093 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_STARTMENU</Macro><Normal Text> Krita $KritaStartMenuFolder</Normal Text><br/>
0094 <BaseFunc>Page</BaseFunc><Normal Text> Custom func_BeforeInstallPage_Init</Normal Text><br/>
0095 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_INSTFILES</Macro><br/>
0096 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_FINISH</Macro><br/>
0097 <Normal Text></Normal Text><br/>
0098 <Normal Text># Uninstaller Pages</Normal Text><br/>
0099 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> </Normal Text><Macro>MUI_PAGE_CUSTOMFUNCTION_PRE</Macro><Normal Text> un.func_UnintallFirstpage_Init</Normal Text><br/>
0100 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_UNPAGE_CONFIRM</Macro><br/>
0101 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_UNPAGE_INSTFILES</Macro><br/>
0102 <Normal Text></Normal Text><br/>
0103 <Normal Text># Languages</Normal Text><br/>
0104 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_LANGUAGE</Macro><Normal Text> </Normal Text><String>"English"</String><br/>
0105 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_LANGUAGE</Macro><Normal Text> </Normal Text><String>"TradChinese"</String><br/>
0106 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_LANGUAGE</Macro><Normal Text> </Normal Text><String>"SimpChinese"</String><br/>
0107 <Normal Text></Normal Text><br/>
0108 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> Sections.nsh</Normal Text><br/>
0109 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> LogicLib.nsh</Normal Text><br/>
0110 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> x64.nsh</Normal Text><br/>
0111 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> WinVer.nsh</Normal Text><br/>
0112 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> WordFunc.nsh</Normal Text><br/>
0113 <Normal Text></Normal Text><br/>
0114 <Symbol>!</Symbol><Keyword>define</Keyword><Normal Text> KRITA_SHELLEX_DIR </Normal Text><String>"$INSTDIR\shellex"</String><br/>
0115 <Normal Text></Normal Text><br/>
0116 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"include\FileExists2.nsh"</String><br/>
0117 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"include\IsFileInUse.nsh"</String><br/>
0118 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"krita_versions_detect.nsh"</String><br/>
0119 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"krita_shell_integration.nsh"</String><br/>
0120 <Normal Text></Normal Text><br/>
0121 <BaseFunc>Var</BaseFunc><Normal Text> KritaMsiProductX86</Normal Text><br/>
0122 <BaseFunc>Var</BaseFunc><Normal Text> KritaMsiProductX64</Normal Text><br/>
0123 <BaseFunc>Var</BaseFunc><Normal Text> KritaNsisVersion</Normal Text><br/>
0124 <BaseFunc>Var</BaseFunc><Normal Text> KritaNsisBitness</Normal Text><br/>
0125 <BaseFunc>Var</BaseFunc><Normal Text> KritaNsisInstallLocation</Normal Text><br/>
0126 <Normal Text></Normal Text><br/>
0127 <BaseFunc>Var</BaseFunc><Normal Text> PrevShellExInstallLocation</Normal Text><br/>
0128 <BaseFunc>Var</BaseFunc><Normal Text> PrevShellExStandalone</Normal Text><br/>
0129 <Normal Text></Normal Text><br/>
0130 <BaseFunc>Var</BaseFunc><Normal Text> UninstallShellExStandalone</Normal Text><br/>
0131 <Normal Text></Normal Text><br/>
0132 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"-Remove_shellex"</String><Normal Text> SEC_remove_shellex</Normal Text><br/>
0133 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $PrevShellExInstallLocation </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0134 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>AndIf</Macro><Symbol>}</Symbol><Normal Text> $PrevShellExStandalone </Normal Text><Symbol>==</Symbol><Normal Text> 1</Normal Text><br/>
0135 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>AndIf</Macro><Symbol>}</Symbol><Normal Text> $KritaNsisVersion </Normal Text><Symbol>==</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0136 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>AndIf</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>FileExists</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$PrevShellExInstallLocation\uninstall.exe"</String><br/>
0137 <Normal Text>           push $R0</Normal Text><br/>
0138 <Normal Text>           </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemovingShellEx)"</String><br/>
0139 <Normal Text>           </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> listonly</Normal Text><br/>
0140 <Normal Text>           </Normal Text><BaseFunc>ExecWait</BaseFunc><Normal Text> </Normal Text><String>"$PrevShellExInstallLocation\uninstall.exe /S _?=$PrevShellExInstallLocation"</String><Normal Text> $R0</Normal Text><br/>
0141 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>!=</Symbol><Normal Text> 0</Normal Text><br/>
0142 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0143 <Normal Text>                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(RemoveShellExFailed)"</String><br/>
0144 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0145 <Normal Text>                   </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> both</Normal Text><br/>
0146 <Normal Text>                   </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemoveShellExFailed)"</String><br/>
0147 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0148 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0149 <Normal Text>           </Normal Text><BaseFunc>Delete</BaseFunc><Normal Text> </Normal Text><String>"$PrevShellExInstallLocation\uninstall.exe"</String><br/>
0150 <Normal Text>           </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /REBOOTOK </Normal Text><String>"$PrevShellExInstallLocation"</String><br/>
0151 <Normal Text>           </Normal Text><BaseFunc>SetRebootFlag</BaseFunc><Normal Text> false</Normal Text><br/>
0152 <Normal Text>           </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> lastused</Normal Text><br/>
0153 <Normal Text>           </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemoveShellExDone)"</String><br/>
0154 <Normal Text>           pop $R0</Normal Text><br/>
0155 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0156 <BaseFunc>SectionEnd</BaseFunc><br/>
0157 <Normal Text></Normal Text><br/>
0158 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"$(SectionRemoveOldVer)"</String><Normal Text> SEC_remove_old_version</Normal Text><br/>
0159 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaNsisInstallLocation </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0160 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>AndIf</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>FileExists</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$KritaNsisInstallLocation\uninstall.exe"</String><br/>
0161 <Normal Text>           push $R0</Normal Text><br/>
0162 <Normal Text>           </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemovingOldVer)"</String><br/>
0163 <Normal Text>           </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> listonly</Normal Text><br/>
0164 <Normal Text>           </Normal Text><BaseFunc>ExecWait</BaseFunc><Normal Text> </Normal Text><String>"$KritaNsisInstallLocation\uninstall.exe /S _?=$KritaNsisInstallLocation"</String><Normal Text> $R0</Normal Text><br/>
0165 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>!=</Symbol><Normal Text> 0</Normal Text><br/>
0166 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0167 <Normal Text>                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(RemoveOldVerFailed)"</String><br/>
0168 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0169 <Normal Text>                   </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> both</Normal Text><br/>
0170 <Normal Text>                   </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemoveOldVerFailed)"</String><br/>
0171 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0172 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0173 <Normal Text>           </Normal Text><BaseFunc>Delete</BaseFunc><Normal Text> </Normal Text><String>"$KritaNsisInstallLocation\uninstall.exe"</String><br/>
0174 <Normal Text>           </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /REBOOTOK </Normal Text><String>"$KritaNsisInstallLocation"</String><br/>
0175 <Normal Text>           </Normal Text><BaseFunc>SetRebootFlag</BaseFunc><Normal Text> false</Normal Text><br/>
0176 <Normal Text>           </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> lastused</Normal Text><br/>
0177 <Normal Text>           </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemoveOldVerDone)"</String><br/>
0178 <Normal Text>           pop $R0</Normal Text><br/>
0179 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0180 <BaseFunc>SectionEnd</BaseFunc><br/>
0181 <Normal Text></Normal Text><br/>
0182 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"-Thing"</String><br/>
0183 <Normal Text>   </Normal Text><BaseFunc>SetOutPath</BaseFunc><Normal Text> $INSTDIR</Normal Text><br/>
0184 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0185 <Normal Text>                    </Normal Text><String>"DisplayName"</String><Normal Text> </Normal Text><String>"${KRITA_PRODUCTNAME} ${KRITA_VERSION_DISPLAY}"</String><br/>
0186 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0187 <Normal Text>                    </Normal Text><String>"UninstallString"</String><Normal Text> </Normal Text><String>"$\"</String><Normal Text>$INSTDIR\uninstall.exe$\</Normal Text><String>""</String><br/>
0188 <Normal Text>   </Normal Text><BaseFunc>WriteUninstaller</BaseFunc><Normal Text> $INSTDIR\uninstall.exe</Normal Text><br/>
0189 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0190 <Normal Text>                    </Normal Text><String>"DisplayVersion"</String><Normal Text> </Normal Text><String>"${KRITA_VERSION}"</String><br/>
0191 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0192 <Normal Text>                    </Normal Text><String>"DisplayIcon"</String><Normal Text> </Normal Text><String>"$\"</String><Normal Text>$INSTDIR\shellex\krita.ico$\</Normal Text><String>",0"</String><br/>
0193 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0194 <Normal Text>                    </Normal Text><String>"URLInfoAbout"</String><Normal Text> </Normal Text><String>"https://krita.org/"</String><br/>
0195 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0196 <Normal Text>                    </Normal Text><String>"InstallLocation"</String><Normal Text> </Normal Text><String>"$INSTDIR"</String><br/>
0197 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0198 <Normal Text>                    </Normal Text><String>"Publisher"</String><Normal Text> </Normal Text><String>"${KRTIA_PUBLISHER}"</String><br/>
0199 <Normal Text>   #WriteRegDWORD HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0200 <Normal Text>   #                   </Normal Text><String>"EstimatedSize"</String><Normal Text> 250000</Normal Text><br/>
0201 <Normal Text>   </Normal Text><BaseFunc>WriteRegDWORD</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0202 <Normal Text>                      </Normal Text><String>"NoModify"</String><Normal Text> 1</Normal Text><br/>
0203 <Normal Text>   </Normal Text><BaseFunc>WriteRegDWORD</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><Normal Text> \</Normal Text><br/>
0204 <Normal Text>                      </Normal Text><String>"NoRepair"</String><Normal Text> 1</Normal Text><br/>
0205 <Normal Text>   # Registry entries for version recognition</Normal Text><br/>
0206 <Normal Text>   #   InstallLocation:</Normal Text><br/>
0207 <Normal Text>   #     Where krita is installed</Normal Text><br/>
0208 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita"</String><Normal Text> \</Normal Text><br/>
0209 <Normal Text>                    </Normal Text><String>"InstallLocation"</String><Normal Text> </Normal Text><String>"$INSTDIR"</String><br/>
0210 <Normal Text>   #   Version:</Normal Text><br/>
0211 <Normal Text>   #     Version of Krita</Normal Text><br/>
0212 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita"</String><Normal Text> \</Normal Text><br/>
0213 <Normal Text>                    </Normal Text><String>"Version"</String><Normal Text> </Normal Text><String>"${KRITA_VERSION}"</String><br/>
0214 <Normal Text>   #   x64:</Normal Text><br/>
0215 <Normal Text>   #     Set to 1 for 64</Normal Text><Symbol>-</Symbol><Normal Text>bit Krita</Normal Text><Symbol>,</Symbol><Normal Text> can be missing for 32</Normal Text><Symbol>-</Symbol><Normal Text>bit Krita</Normal Text><br/>
0216 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0217 <Normal Text>   </Normal Text><BaseFunc>WriteRegDWORD</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita"</String><Normal Text> \</Normal Text><br/>
0218 <Normal Text>                      </Normal Text><String>"x64"</String><Normal Text> 1</Normal Text><br/>
0219 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0220 <Normal Text>   </Normal Text><BaseFunc>DeleteRegValue</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita"</String><Normal Text> </Normal Text><String>"x64"</String><br/>
0221 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0222 <Normal Text>   #   InstallerLanguage:</Normal Text><br/>
0223 <Normal Text>   #     Language used by the installer </Normal Text><Symbol>(</Symbol><Normal Text>to be re</Normal Text><Symbol>-</Symbol><Normal Text>used for the uninstaller</Normal Text><Symbol>)</Symbol><br/>
0224 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita"</String><Normal Text> \</Normal Text><br/>
0225 <Normal Text>                    </Normal Text><String>"InstallerLanguage"</String><Normal Text> </Normal Text><String>"$LANGUAGE"</String><br/>
0226 <Normal Text>   #   StartMenuFolder:</Normal Text><br/>
0227 <Normal Text>   #     Start Menu Folder</Normal Text><br/>
0228 <Normal Text>   #     Handled by Modern UI 2.0 </Normal Text><Macro>MUI_PAGE_STARTMENU</Macro><br/>
0229 <BaseFunc>SectionEnd</BaseFunc><br/>
0230 <Normal Text></Normal Text><br/>
0231 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"${KRITA_PRODUCTNAME}"</String><Normal Text> SEC_product_main</Normal Text><br/>
0232 <Normal Text>   # TODO: Maybe switch to explicit file list</Normal Text><Symbol>?</Symbol><br/>
0233 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /r /x ffmpeg.exe /x ffmpeg_README.txt /x ffmpeg_LICENSE.txt $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\bin</Normal Text><br/>
0234 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /r $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\lib</Normal Text><br/>
0235 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /r $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\share</Normal Text><br/>
0236 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /r $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\python</Normal Text><br/>
0237 <BaseFunc>SectionEnd</BaseFunc><br/>
0238 <Normal Text></Normal Text><br/>
0239 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"-Main_associate"</String><br/>
0240 <Normal Text>   </Normal Text><BaseFunc>CreateDirectory</BaseFunc><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_SHELLEX_DIR</Normal Text><Symbol>}</Symbol><br/>
0241 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_RegisterFileAssociation</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$INSTDIR\bin\krita.exe"</String><br/>
0242 <BaseFunc>SectionEnd</BaseFunc><br/>
0243 <Normal Text></Normal Text><br/>
0244 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"-Main_Shortcuts"</String><br/>
0245 <Normal Text>   # Placing this after Krita_RegisterFileAssociation to get the icon</Normal Text><br/>
0246 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENU_WRITE_BEGIN</Macro><Normal Text> Krita</Normal Text><br/>
0247 <Normal Text>           </Normal Text><BaseFunc>CreateDirectory</BaseFunc><Normal Text> </Normal Text><String>"$SMPROGRAMS\$KritaStartMenuFolder"</String><br/>
0248 <Normal Text>           </Normal Text><BaseFunc>CreateShortcut</BaseFunc><Normal Text> </Normal Text><String>"$SMPROGRAMS\$KritaStartMenuFolder\${KRITA_PRODUCTNAME}.lnk"</String><Normal Text> </Normal Text><String>"$INSTDIR\bin\krita.exe"</String><Normal Text> </Normal Text><String>""</String><Normal Text> </Normal Text><String>"$INSTDIR\shellex\krita.ico"</String><Normal Text> 0</Normal Text><br/>
0249 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_STARTMENU_WRITE_END</Macro><br/>
0250 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $CreateDesktopIcon </Normal Text><Symbol>==</Symbol><Normal Text> 1</Normal Text><br/>
0251 <Normal Text>           # </Normal Text><Macro>For</Macro><Normal Text> the desktop icon</Normal Text><Symbol>,</Symbol><Normal Text> keep the name short and omit version info</Normal Text><br/>
0252 <Normal Text>           </Normal Text><BaseFunc>CreateShortcut</BaseFunc><Normal Text> </Normal Text><String>"$DESKTOP\Krita.lnk"</String><Normal Text> </Normal Text><String>"$INSTDIR\bin\krita.exe"</String><Normal Text> </Normal Text><String>""</String><Normal Text> </Normal Text><String>"$INSTDIR\shellex\krita.ico"</String><Normal Text> 0</Normal Text><br/>
0253 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0254 <BaseFunc>SectionEnd</BaseFunc><br/>
0255 <Normal Text></Normal Text><br/>
0256 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"$(SectionShellEx)"</String><Normal Text> SEC_shellex</Normal Text><br/>
0257 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0258 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_RegisterComComonents</Normal Text><Symbol>}</Symbol><Normal Text> 64</Normal Text><br/>
0259 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0260 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_RegisterComComonents</Normal Text><Symbol>}</Symbol><Normal Text> 32</Normal Text><br/>
0261 <Normal Text></Normal Text><br/>
0262 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_RegisterShellExtension</Normal Text><Symbol>}</Symbol><br/>
0263 <Normal Text></Normal Text><br/>
0264 <Normal Text>   #   ShellExtension\InstallLocation:</Normal Text><br/>
0265 <Normal Text>   #     Where the shell extension is installed</Normal Text><br/>
0266 <Normal Text>   #     </Normal Text><Macro>If</Macro><Normal Text> installed by Krita installer</Normal Text><Symbol>,</Symbol><Normal Text> this must point to shellex sub</Normal Text><Symbol>-</Symbol><Normal Text>dir</Normal Text><br/>
0267 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> \</Normal Text><br/>
0268 <Normal Text>                    </Normal Text><String>"InstallLocation"</String><Normal Text> </Normal Text><String>"$INSTDIR\shellex"</String><br/>
0269 <Normal Text>   #   ShellExtension\Version:</Normal Text><br/>
0270 <Normal Text>   #     Version of the shell extension</Normal Text><br/>
0271 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> \</Normal Text><br/>
0272 <Normal Text>                    </Normal Text><String>"Version"</String><Normal Text> </Normal Text><String>"${KRITASHELLEX_VERSION}"</String><br/>
0273 <Normal Text>   #   ShellExtension\Standalone:</Normal Text><br/>
0274 <Normal Text>   #     0 </Normal Text><Symbol>=</Symbol><Normal Text> Installed by Krita installer</Normal Text><br/>
0275 <Normal Text>   #     1 </Normal Text><Symbol>=</Symbol><Normal Text> Standalone installer</Normal Text><br/>
0276 <Normal Text>   </Normal Text><BaseFunc>WriteRegDWORD</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> \</Normal Text><br/>
0277 <Normal Text>                      </Normal Text><String>"Standalone"</String><Normal Text> 0</Normal Text><br/>
0278 <Normal Text>   #   ShellExtension\KritaExePath:</Normal Text><br/>
0279 <Normal Text>   #     Path to krita.exe as specified by user or by Krita installer</Normal Text><br/>
0280 <Normal Text>   #     Empty </Normal Text><Keyword>if</Keyword><Normal Text> not specified</Normal Text><br/>
0281 <Normal Text>   </Normal Text><BaseFunc>WriteRegStr</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> \</Normal Text><br/>
0282 <Normal Text>                    </Normal Text><String>"KritaExePath"</String><Normal Text> </Normal Text><String>"$INSTDIR\bin\krita.exe"</String><br/>
0283 <BaseFunc>SectionEnd</BaseFunc><br/>
0284 <Normal Text></Normal Text><br/>
0285 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> HAS_FFMPEG</Normal Text><br/>
0286 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"$(SectionBundledFfmpeg)"</String><Normal Text> SEC_ffmpeg</Normal Text><br/>
0287 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /oname</Normal Text><Symbol>=</Symbol><Normal Text>bin\ffmpeg.exe $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\bin\ffmpeg.exe</Normal Text><br/>
0288 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /oname</Normal Text><Symbol>=</Symbol><Normal Text>bin\ffmpeg_LICENSE.txt $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\bin\ffmpeg_LICENSE.txt</Normal Text><br/>
0289 <Normal Text>   </Normal Text><BaseFunc>File</BaseFunc><Normal Text> /oname</Normal Text><Symbol>=</Symbol><Normal Text>bin\ffmpeg_README.txt $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_PACKAGE_ROOT</Normal Text><Symbol>}</Symbol><Normal Text>\bin\ffmpeg_README.txt</Normal Text><br/>
0290 <BaseFunc>SectionEnd</BaseFunc><br/>
0291 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0292 <Normal Text></Normal Text><br/>
0293 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"-Main_refreshShell"</String><br/>
0294 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>RefreshShell</Normal Text><Symbol>}</Symbol><br/>
0295 <BaseFunc>SectionEnd</BaseFunc><br/>
0296 <Normal Text></Normal Text><br/>
0297 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_FUNCTION_DESCRIPTION_BEGIN</Macro><br/>
0298 <Normal Text>   #</Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_DESCRIPTION_TEXT</Macro><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_shellex</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"Remove previously installed Krita Shell Integration."</String><br/>
0299 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_DESCRIPTION_TEXT</Macro><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_old_version</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$(SectionRemoveOldVerDesc)"</String><br/>
0300 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_DESCRIPTION_TEXT</Macro><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_product_main</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$(SectionMainDesc)"</String><br/>
0301 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_DESCRIPTION_TEXT</Macro><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_shellex</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$(SectionShellExDesc)"</String><br/>
0302 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> HAS_FFMPEG</Normal Text><br/>
0303 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_DESCRIPTION_TEXT</Macro><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_ffmpeg</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$(SectionBundledFfmpegDesc)"</String><br/>
0304 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0305 <Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_FUNCTION_DESCRIPTION_END</Macro><br/>
0306 <Normal Text></Normal Text><br/>
0307 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"un.$(SectionShellEx)"</String><br/>
0308 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $UninstallShellExStandalone </Normal Text><Symbol>==</Symbol><Normal Text> 1</Normal Text><br/>
0309 <Normal Text>           push $R0</Normal Text><br/>
0310 <Normal Text>           </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemovingShellEx)"</String><br/>
0311 <Normal Text>           </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> listonly</Normal Text><br/>
0312 <Normal Text>           </Normal Text><BaseFunc>ExecWait</BaseFunc><Normal Text> </Normal Text><String>"$INSTDIR\shellex\uninstall.exe /S _?=$INSTDIR\shellex"</String><Normal Text> $R0</Normal Text><br/>
0313 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>!=</Symbol><Normal Text> 0</Normal Text><br/>
0314 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0315 <Normal Text>                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(RemoveShellExFailed)"</String><br/>
0316 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0317 <Normal Text>                   </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> lastused</Normal Text><br/>
0318 <Normal Text>                   </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> both</Normal Text><br/>
0319 <Normal Text>                   </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemoveShellExFailed)"</String><br/>
0320 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0321 <Normal Text>           </Normal Text><BaseFunc>Delete</BaseFunc><Normal Text> </Normal Text><String>"$INSTDIR\shellex\uninstall.exe"</String><br/>
0322 <Normal Text>           </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /REBOOTOK </Normal Text><String>"$INSTDIR\shellex"</String><br/>
0323 <Normal Text>           </Normal Text><BaseFunc>SetDetailsPrint</BaseFunc><Normal Text> lastused</Normal Text><br/>
0324 <Normal Text>           </Normal Text><BaseFunc>DetailPrint</BaseFunc><Normal Text> </Normal Text><String>"$(RemoveShellExDone)"</String><br/>
0325 <Normal Text>           pop $R0</Normal Text><br/>
0326 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0327 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_UnregisterShellExtension</Normal Text><Symbol>}</Symbol><br/>
0328 <Normal Text></Normal Text><br/>
0329 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0330 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_UnregisterComComonents</Normal Text><Symbol>}</Symbol><Normal Text> 64</Normal Text><br/>
0331 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0332 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_UnregisterComComonents</Normal Text><Symbol>}</Symbol><Normal Text> 32</Normal Text><br/>
0333 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0334 <BaseFunc>SectionEnd</BaseFunc><br/>
0335 <Normal Text></Normal Text><br/>
0336 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"un.Main_associate"</String><br/>
0337 <Normal Text>   # TODO: Conditional</Normal Text><Symbol>,</Symbol><Normal Text> use install log</Normal Text><br/>
0338 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $UninstallShellExStandalone </Normal Text><Symbol>!=</Symbol><Normal Text> 1</Normal Text><br/>
0339 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>Krita_UnregisterFileAssociation</Normal Text><Symbol>}</Symbol><br/>
0340 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0341 <BaseFunc>SectionEnd</BaseFunc><br/>
0342 <Normal Text></Normal Text><br/>
0343 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"un.Main_Shortcuts"</String><br/>
0344 <Normal Text>   </Normal Text><BaseFunc>Delete</BaseFunc><Normal Text> </Normal Text><String>"$DESKTOP\Krita.lnk"</String><br/>
0345 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> MUI_STARTMENU_GETFOLDER Krita $KritaStartMenuFolder</Normal Text><br/>
0346 <Normal Text>   </Normal Text><BaseFunc>Delete</BaseFunc><Normal Text> </Normal Text><String>"$SMPROGRAMS\$KritaStartMenuFolder\${KRITA_PRODUCTNAME}.lnk"</String><br/>
0347 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> </Normal Text><String>"$SMPROGRAMS\$KritaStartMenuFolder"</String><br/>
0348 <BaseFunc>SectionEnd</BaseFunc><br/>
0349 <Normal Text></Normal Text><br/>
0350 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"un.${KRITA_PRODUCTNAME}"</String><br/>
0351 <Normal Text>   # TODO: Maybe switch to explicit file list or some sort of install log</Normal Text><Symbol>?</Symbol><br/>
0352 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /r $INSTDIR\bin</Normal Text><br/>
0353 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /r $INSTDIR\lib</Normal Text><br/>
0354 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /r $INSTDIR\share</Normal Text><br/>
0355 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /r $INSTDIR\python</Normal Text><br/>
0356 <BaseFunc>SectionEnd</BaseFunc><br/>
0357 <Normal Text></Normal Text><br/>
0358 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"un.Thing"</String><br/>
0359 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /REBOOTOK $INSTDIR\shellex</Normal Text><br/>
0360 <Normal Text>   </Normal Text><BaseFunc>DeleteRegKey</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Krita"</String><br/>
0361 <Normal Text>   </Normal Text><BaseFunc>DeleteRegKey</BaseFunc><Normal Text> HKLM </Normal Text><String>"Software\Microsoft\Windows\CurrentVersion\Uninstall\${KRITA_UNINSTALL_REGKEY}"</String><br/>
0362 <Normal Text>   </Normal Text><BaseFunc>Delete</BaseFunc><Normal Text> $INSTDIR\uninstall.exe</Normal Text><br/>
0363 <Normal Text>   </Normal Text><BaseFunc>RMDir</BaseFunc><Normal Text> /REBOOTOK $INSTDIR</Normal Text><br/>
0364 <BaseFunc>SectionEnd</BaseFunc><br/>
0365 <Normal Text></Normal Text><br/>
0366 <BaseFunc>Section</BaseFunc><Normal Text> </Normal Text><String>"un.Main_refreshShell"</String><br/>
0367 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>RefreshShell</Normal Text><Symbol>}</Symbol><br/>
0368 <BaseFunc>SectionEnd</BaseFunc><br/>
0369 <Normal Text></Normal Text><br/>
0370 <BaseFunc>Function</BaseFunc><Normal Text> .onInit</Normal Text><br/>
0371 <Normal Text>   </Normal Text><BaseFunc>SetShellVarContext</BaseFunc><Normal Text> all</Normal Text><br/>
0372 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> SetSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_product_main</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_RO</Normal Text><Symbol>}</Symbol><br/>
0373 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> SetSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_product_main</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_BOLD</Normal Text><Symbol>}</Symbol><br/>
0374 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> SetSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_old_version</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_RO</Normal Text><Symbol>}</Symbol><br/>
0375 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> HAS_FFMPEG</Normal Text><br/>
0376 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> SetSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_ffmpeg</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_RO</Normal Text><Symbol>}</Symbol><br/>
0377 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0378 <Normal Text>   </Normal Text><BaseFunc>StrCpy</BaseFunc><Normal Text> $CreateDesktopIcon 1 # Create desktop icon by default</Normal Text><br/>
0379 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>AtLeastWin7</Normal Text><Symbol>}</Symbol><br/>
0380 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0381 <Normal Text>                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(MsgRequireWin7)"</String><br/>
0382 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0383 <Normal Text>           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0384 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0385 <Normal Text></Normal Text><br/>
0386 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0387 <Normal Text>           # Language selection</Normal Text><Symbol>,</Symbol><Normal Text> seems that the order is predefined.</Normal Text><br/>
0388 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> </Normal Text><String>""</String><Normal Text> # This value is for languages auto count</Normal Text><br/>
0389 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>LANG_ENGLISH</Normal Text><Symbol>}</Symbol><br/>
0390 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> English</Normal Text><br/>
0391 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>LANG_TRADCHINESE</Normal Text><Symbol>}</Symbol><br/>
0392 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> </Normal Text><String>"繁體中文"</String><br/>
0393 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>LANG_SIMPCHINESE</Normal Text><Symbol>}</Symbol><br/>
0394 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> </Normal Text><String>"简体中文"</String><br/>
0395 <Normal Text>           </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> A # </Normal Text><Symbol>=</Symbol><Normal Text> auto count languages</Normal Text><br/>
0396 <Normal Text>           LangDLL::LangDialog </Normal Text><String>"$(^SetupCaption)"</String><Normal Text> </Normal Text><String>"$(SetupLangPrompt)"</String><br/>
0397 <Normal Text>           </Normal Text><BaseFunc>Pop</BaseFunc><Normal Text> $LANGUAGE</Normal Text><br/>
0398 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $LANGUAGE </Normal Text><Symbol>==</Symbol><Normal Text> </Normal Text><String>"cancel"</String><br/>
0399 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0400 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>Endif</Normal Text><Symbol>}</Symbol><br/>
0401 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0402 <Normal Text></Normal Text><br/>
0403 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0404 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0405 <Normal Text>           </Normal Text><BaseFunc>SetRegView</BaseFunc><Normal Text> 64</Normal Text><br/>
0406 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0407 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0408 <Normal Text>                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(Msg64bitOn32bit)"</String><br/>
0409 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0410 <Normal Text>           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0411 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Endif</Normal Text><Symbol>}</Symbol><br/>
0412 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0413 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0414 <Normal Text>           </Normal Text><BaseFunc>SetRegView</BaseFunc><Normal Text> 64</Normal Text><br/>
0415 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0416 <Normal Text>                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_YESNO</Option><Symbol>|</Symbol><Normal Text>MB_ICONEXCLAMATION </Normal Text><String>"$(Msg32bitOn64bit)"</String><Normal Text> \</Normal Text><br/>
0417 <Normal Text>                              /SD IDYES \</Normal Text><br/>
0418 <Normal Text>                              IDYES lbl_allow32on64</Normal Text><br/>
0419 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0420 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0421 <Normal Text>           lbl_allow32on64:</Normal Text><br/>
0422 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Endif</Normal Text><Symbol>}</Symbol><br/>
0423 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0424 <Normal Text></Normal Text><br/>
0425 <Normal Text>   # Detect ancient Krita versions</Normal Text><br/>
0426 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>DetectKritaMsi32bit</Normal Text><Symbol>}</Symbol><Normal Text> $KritaMsiProductX86</Normal Text><br/>
0427 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0428 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>DetectKritaMsi64bit</Normal Text><Symbol>}</Symbol><Normal Text> $KritaMsiProductX64</Normal Text><br/>
0429 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0430 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaMsiProductX86 </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0431 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>OrIf</Macro><Symbol>}</Symbol><Normal Text> $KritaMsiProductX64 </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0432 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0433 <Normal Text>                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_YESNO</Option><Symbol>|</Symbol><Option>MB_ICONQUESTION</Option><Symbol>|</Symbol><Normal Text>MB_DEFBUTTON1 </Normal Text><String>"$(MsgAncientVerMustBeRemoved)"</String><Normal Text> \</Normal Text><br/>
0434 <Normal Text>                                           /SD IDYES \</Normal Text><br/>
0435 <Normal Text>                                           IDYES lbl_removeAncientVer</Normal Text><br/>
0436 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0437 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0438 <Normal Text>           lbl_removeAncientVer:</Normal Text><br/>
0439 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaMsiProductX64 </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0440 <Normal Text>                   push $R0</Normal Text><br/>
0441 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Normal Text>MsiUninstall</Normal Text><Symbol>}</Symbol><Normal Text> $KritaMsiProductX64 $R0</Normal Text><br/>
0442 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>!=</Symbol><Normal Text> 0</Normal Text><br/>
0443 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0444 <Normal Text>                                   $</Normal Text><Symbol>{</Symbol><Normal Text>IfKritaMsi3Alpha</Normal Text><Symbol>}</Symbol><Normal Text> $KritaMsiProductX64</Normal Text><br/>
0445 <Normal Text>                                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(MsgKrita3alpha1RemoveFailed)"</String><br/>
0446 <Normal Text>                                   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0447 <Normal Text>                                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(MsgKrita2msi64bitRemoveFailed)"</String><br/>
0448 <Normal Text>                                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0449 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0450 <Normal Text>                           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0451 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0452 <Normal Text>                   pop $R0</Normal Text><br/>
0453 <Normal Text>                   </Normal Text><BaseFunc>StrCpy</BaseFunc><Normal Text> $KritaMsiProductX64 </Normal Text><String>""</String><br/>
0454 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0455 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaMsiProductX86 </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0456 <Normal Text>                   push $R0</Normal Text><br/>
0457 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Normal Text>MsiUninstall</Normal Text><Symbol>}</Symbol><Normal Text> $KritaMsiProductX86 $R0</Normal Text><br/>
0458 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>!=</Symbol><Normal Text> 0</Normal Text><br/>
0459 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0460 <Normal Text>                                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(MsgKrita2msi32bitRemoveFailed)"</String><br/>
0461 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0462 <Normal Text>                           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0463 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0464 <Normal Text>                   pop $R0</Normal Text><br/>
0465 <Normal Text>                   </Normal Text><BaseFunc>StrCpy</BaseFunc><Normal Text> $KritaMsiProductX86 </Normal Text><String>""</String><br/>
0466 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0467 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0468 <Normal Text></Normal Text><br/>
0469 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>DetectKritaNsis</Normal Text><Symbol>}</Symbol><Normal Text> $KritaNsisVersion $KritaNsisBitness $KritaNsisInstallLocation</Normal Text><br/>
0470 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaNsisVersion </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0471 <Normal Text>           push $R0</Normal Text><br/>
0472 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>VersionCompare</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"${KRITA_VERSION}"</String><Normal Text> </Normal Text><String>"$KritaNsisVersion"</String><Normal Text> $R0</Normal Text><br/>
0473 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>==</Symbol><Normal Text> 0</Normal Text><br/>
0474 <Normal Text>                   # Same version installed... probably</Normal Text><br/>
0475 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaNsisBitness </Normal Text><Symbol>==</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_INSTALLER_BITNESS</Normal Text><Symbol>}</Symbol><br/>
0476 <Normal Text>                           # Very likely the same version</Normal Text><br/>
0477 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0478 <Normal Text>                                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Option>MB_ICONINFORMATION</Option><Normal Text> </Normal Text><String>"$(MsgKritaSameVerReinstall)"</String><br/>
0479 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0480 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0481 <Normal Text>                           # Very likely the same version but different arch</Normal Text><br/>
0482 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0483 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0484 <Normal Text>                                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Option>MB_ICONINFORMATION</Option><Normal Text> </Normal Text><String>"$(MsgKrita3264bitSwap)"</String><br/>
0485 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0486 <Normal Text>                                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONEXCLAMATION </Normal Text><String>"$(MsgKrita3264bitSwap)"</String><br/>
0487 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0488 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0489 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0490 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>ElseIf</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>==</Symbol><Normal Text> 1</Normal Text><br/>
0491 <Normal Text>                   # Upgrade</Normal Text><br/>
0492 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $KritaNsisBitness </Normal Text><Symbol>==</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>KRITA_INSTALLER_BITNESS</Normal Text><Symbol>}</Symbol><br/>
0493 <Normal Text>                           # Silent about upgrade</Normal Text><br/>
0494 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0495 <Normal Text>                           # Upgrade but different arch</Normal Text><br/>
0496 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0497 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0498 <Normal Text>                                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Option>MB_ICONINFORMATION</Option><Normal Text> </Normal Text><String>"$(MsgKrita3264bitSwap)"</String><br/>
0499 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0500 <Normal Text>                                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONEXCLAMATION </Normal Text><String>"$(MsgKrita3264bitSwap)"</String><br/>
0501 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0502 <Normal Text>                           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0503 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0504 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>ElseIf</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>==</Symbol><Normal Text> 2</Normal Text><br/>
0505 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0506 <Normal Text>                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"$(MsgKritaNewerAlreadyInstalled)"</String><br/>
0507 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0508 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0509 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0510 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0511 <Normal Text>                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONSTOP </Normal Text><String>"Error: Unexpected state"</String><br/>
0512 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0513 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0514 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0515 <Normal Text>           </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> SetSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_old_version</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_SELECTED</Normal Text><Symbol>}</Symbol><br/>
0516 <Normal Text>           # Detect </Normal Text><Keyword>if</Keyword><Normal Text> Krita is running...</Normal Text><br/>
0517 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>IsFileinUse</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$KritaNsisInstallLocation\bin\krita.exe"</String><br/>
0518 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0519 <Normal Text>                           </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONEXCLAMATION </Normal Text><String>"$(MsgKritaRunning)"</String><br/>
0520 <Normal Text>                   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0521 <Normal Text>                   </Normal Text><BaseFunc>SetErrorLevel</BaseFunc><Normal Text> 10</Normal Text><br/>
0522 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0523 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0524 <Normal Text>           pop $R0</Normal Text><br/>
0525 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0526 <Normal Text>           </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> ClearSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_old_version</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_SELECTED</Normal Text><Symbol>}</Symbol><br/>
0527 <Normal Text>           </Normal Text><BaseFunc>SectionSetText</BaseFunc><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_old_version</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0528 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0529 <Normal Text></Normal Text><br/>
0530 <Normal Text>   # Detect standalone shell extension</Normal Text><br/>
0531 <Normal Text>   # TODO: Would it be possible to update Krita without replacing the standalone shellex</Normal Text><Symbol>?</Symbol><br/>
0532 <Normal Text>   </Normal Text><BaseFunc>ClearErrors</BaseFunc><br/>
0533 <Normal Text>   </Normal Text><BaseFunc>ReadRegStr</BaseFunc><Normal Text> $PrevShellExInstallLocation HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> </Normal Text><String>"InstallLocation"</String><br/>
0534 <Normal Text>   #ReadRegStr $PrevShellExVersion HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> </Normal Text><String>"Version"</String><br/>
0535 <Normal Text>   </Normal Text><BaseFunc>ReadRegDWORD</BaseFunc><Normal Text> $PrevShellExStandalone HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> </Normal Text><String>"Standalone"</String><br/>
0536 <Normal Text>   #ReadRegStr $PrevShellExKritaExePath HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> </Normal Text><String>"KritaExePath"</String><br/>
0537 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Errors</Normal Text><Symbol>}</Symbol><br/>
0538 <Normal Text>           # TODO: Assume no previous version installed or what</Normal Text><Symbol>?</Symbol><br/>
0539 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0540 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $PrevShellExStandalone </Normal Text><Symbol>==</Symbol><Normal Text> 1</Normal Text><br/>
0541 <Normal Text>           #</Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> SetSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_shellex</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_SELECTED</Normal Text><Symbol>}</Symbol><br/>
0542 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0543 <Normal Text>           #</Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> ClearSectionFlag $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_shellex</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SF_SELECTED</Normal Text><Symbol>}</Symbol><br/>
0544 <Normal Text>           #SectionSetText $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_remove_shellex</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0545 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0546 <BaseFunc>FunctionEnd</BaseFunc><br/>
0547 <Normal Text></Normal Text><br/>
0548 <BaseFunc>Function</BaseFunc><Normal Text> un.onInit</Normal Text><br/>
0549 <Normal Text>   </Normal Text><BaseFunc>SetShellVarContext</BaseFunc><Normal Text> all</Normal Text><br/>
0550 <Symbol>!</Symbol><Keyword>ifdef</Keyword><Normal Text> KRITA_INSTALLER_64</Normal Text><br/>
0551 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0552 <Normal Text>           </Normal Text><BaseFunc>SetRegView</BaseFunc><Normal Text> 64</Normal Text><br/>
0553 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0554 <Normal Text>           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0555 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Endif</Normal Text><Symbol>}</Symbol><br/>
0556 <Symbol>!</Symbol><Keyword>else</Keyword><br/>
0557 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>RunningX64</Normal Text><Symbol>}</Symbol><br/>
0558 <Normal Text>           </Normal Text><BaseFunc>SetRegView</BaseFunc><Normal Text> 64</Normal Text><br/>
0559 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>Endif</Normal Text><Symbol>}</Symbol><br/>
0560 <Symbol>!</Symbol><Keyword>endif</Keyword><br/>
0561 <Normal Text></Normal Text><br/>
0562 <Normal Text>   # Get and use installer language:</Normal Text><br/>
0563 <Normal Text>   </Normal Text><BaseFunc>Push</BaseFunc><Normal Text> $0</Normal Text><br/>
0564 <Normal Text>   </Normal Text><BaseFunc>ReadRegStr</BaseFunc><Normal Text> $0 HKLM </Normal Text><String>"Software\Krita"</String><Normal Text> </Normal Text><String>"InstallerLanguage"</String><br/>
0565 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $0 </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><br/>
0566 <Normal Text>           </Normal Text><BaseFunc>StrCpy</BaseFunc><Normal Text> $LANGUAGE $0</Normal Text><br/>
0567 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0568 <Normal Text>   </Normal Text><BaseFunc>Pop</BaseFunc><Normal Text> $0</Normal Text><br/>
0569 <Normal Text></Normal Text><br/>
0570 <Normal Text>   </Normal Text><BaseFunc>ReadRegDWORD</BaseFunc><Normal Text> $UninstallShellExStandalone HKLM </Normal Text><String>"Software\Krita\ShellExtension"</String><Normal Text> </Normal Text><String>"Standalone"</String><br/>
0571 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0572 <Normal Text>           # Only check here </Normal Text><Keyword>if</Keyword><Normal Text> running in silent mode. It's otherwise checked in</Normal Text><br/>
0573 <Normal Text>           # un.func_UnintallFirstpage_Init in order to display a prompt in the</Normal Text><br/>
0574 <Normal Text>           # correct language.</Normal Text><br/>
0575 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>IsFileinUse</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$INSTDIR\bin\krita.exe"</String><br/>
0576 <Normal Text>                   </Normal Text><BaseFunc>SetErrorLevel</BaseFunc><Normal Text> 10</Normal Text><br/>
0577 <Normal Text>                   </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0578 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0579 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0580 <BaseFunc>FunctionEnd</BaseFunc><br/>
0581 <Normal Text></Normal Text><br/>
0582 <BaseFunc>Function</BaseFunc><Normal Text> un.func_UnintallFirstpage_Init</Normal Text><br/>
0583 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>IsFileinUse</Normal Text><Symbol>}</Symbol><Normal Text> </Normal Text><String>"$INSTDIR\bin\krita.exe"</String><br/>
0584 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>Silent</Normal Text><Symbol>}</Symbol><br/>
0585 <Normal Text>                   </Normal Text><BaseFunc>MessageBox</BaseFunc><Normal Text> </Normal Text><Option>MB_OK</Option><Symbol>|</Symbol><Normal Text>MB_ICONEXCLAMATION </Normal Text><String>"$(MsgUninstallKritaRunning)"</String><br/>
0586 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0587 <Normal Text>           </Normal Text><BaseFunc>SetErrorLevel</BaseFunc><Normal Text> 10</Normal Text><br/>
0588 <Normal Text>           </Normal Text><BaseFunc>Quit</BaseFunc><br/>
0589 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0590 <BaseFunc>FunctionEnd</BaseFunc><br/>
0591 <Normal Text></Normal Text><br/>
0592 <BaseFunc>Function</BaseFunc><Normal Text> func_ShellExLicensePage_Init</Normal Text><br/>
0593 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>IfNot</Macro><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SectionIsSelected</Normal Text><Symbol>}</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>SEC_shellex</Normal Text><Symbol>}</Symbol><br/>
0594 <Normal Text>           # Skip ShellEx license page </Normal Text><Keyword>if</Keyword><Normal Text> not selected</Normal Text><br/>
0595 <Normal Text>           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0596 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0597 <BaseFunc>FunctionEnd</BaseFunc><br/>
0598 <Normal Text></Normal Text><br/>
0599 <BaseFunc>Var</BaseFunc><Normal Text> hwndChkDesktopIcon</Normal Text><br/>
0600 <Normal Text></Normal Text><br/>
0601 <BaseFunc>Function</BaseFunc><Normal Text> func_DesktopShortcutPage_CheckChange</Normal Text><br/>
0602 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_GetState</Normal Text><Symbol>}</Symbol><Normal Text> $hwndChkDesktopIcon $CreateDesktopIcon</Normal Text><br/>
0603 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $CreateDesktopIcon </Normal Text><Symbol>==</Symbol><Normal Text> $</Normal Text><Symbol>{</Symbol><Normal Text>BST_CHECKED</Normal Text><Symbol>}</Symbol><br/>
0604 <Normal Text>           </Normal Text><BaseFunc>StrCpy</BaseFunc><Normal Text> $CreateDesktopIcon 1</Normal Text><br/>
0605 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0606 <Normal Text>           </Normal Text><BaseFunc>StrCpy</BaseFunc><Normal Text> $CreateDesktopIcon 0</Normal Text><br/>
0607 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0608 <BaseFunc>FunctionEnd</BaseFunc><br/>
0609 <Normal Text></Normal Text><br/>
0610 <BaseFunc>Function</BaseFunc><Normal Text> func_BeforeInstallPage_Init</Normal Text><br/>
0611 <Normal Text>   push $R0</Normal Text><br/>
0612 <Normal Text></Normal Text><br/>
0613 <Normal Text>   nsDialogs::Create 1018</Normal Text><br/>
0614 <Normal Text>   pop $R0</Normal Text><br/>
0615 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $R0 </Normal Text><Symbol>==</Symbol><Normal Text> </Normal Text><Keyword>error</Keyword><br/>
0616 <Normal Text>           </Normal Text><BaseFunc>Abort</BaseFunc><br/>
0617 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0618 <Normal Text>   </Normal Text><Symbol>!</Symbol><Keyword>insertmacro</Keyword><Normal Text> </Normal Text><Macro>MUI_HEADER_TEXT</Macro><Normal Text> </Normal Text><String>"$(ConfirmInstallPageHeader)"</String><Normal Text> </Normal Text><String>"$(ConfirmInstallPageDesc)"</String><br/>
0619 <Normal Text></Normal Text><br/>
0620 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_CreateLabel</Normal Text><Symbol>}</Symbol><Normal Text> 0u 0u 300u 20u </Normal Text><String>"$(DesktopIconPageDesc2)"</String><br/>
0621 <Normal Text>   pop $R0</Normal Text><br/>
0622 <Normal Text></Normal Text><br/>
0623 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_CreateCheckbox</Normal Text><Symbol>}</Symbol><Normal Text> 0u 20u 300u 10u </Normal Text><String>"$(DesktopIconPageCheckbox)"</String><br/>
0624 <Normal Text>   pop $hwndChkDesktopIcon</Normal Text><br/>
0625 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>If</Macro><Symbol>}</Symbol><Normal Text> $CreateDesktopIcon </Normal Text><Symbol>==</Symbol><Normal Text> 1</Normal Text><br/>
0626 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_Check</Normal Text><Symbol>}</Symbol><Normal Text> $hwndChkDesktopIcon</Normal Text><br/>
0627 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>Else</Macro><Symbol>}</Symbol><br/>
0628 <Normal Text>           $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_Uncheck</Normal Text><Symbol>}</Symbol><Normal Text> $hwndChkDesktopIcon</Normal Text><br/>
0629 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Macro>EndIf</Macro><Symbol>}</Symbol><br/>
0630 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_OnClick</Normal Text><Symbol>}</Symbol><Normal Text> $hwndChkDesktopIcon func_DesktopShortcutPage_CheckChange</Normal Text><br/>
0631 <Normal Text></Normal Text><br/>
0632 <Normal Text>   $</Normal Text><Symbol>{</Symbol><Normal Text>NSD_CreateLabel</Normal Text><Symbol>}</Symbol><Normal Text> 0u 40u 300u 140u </Normal Text><String>"$(ConfirmInstallPageDesc2)"</String><br/>
0633 <Normal Text>   pop $R0</Normal Text><br/>
0634 <Normal Text></Normal Text><br/>
0635 <Normal Text>   # TODO: Add install option summary for review</Normal Text><Symbol>?</Symbol><br/>
0636 <Normal Text></Normal Text><br/>
0637 <Normal Text>   nsDialogs::Show</Normal Text><br/>
0638 <Normal Text></Normal Text><br/>
0639 <Normal Text>   pop $R0</Normal Text><br/>
0640 <BaseFunc>FunctionEnd</BaseFunc><br/>
0641 <Normal Text></Normal Text><br/>
0642 <Normal Text></Normal Text><br/>
0643 <Normal Text># Strings</Normal Text><br/>
0644 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"translations\English.nsh"</String><br/>
0645 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"translations\TradChinese.nsh"</String><br/>
0646 <Symbol>!</Symbol><Keyword>include</Keyword><Normal Text> </Normal Text><String>"translations\SimpChinese.nsh"</String><br/>