diff --git a/Build/make_portable(.zip).cmd b/Build/make_portable(.zip).cmd index 1ad7b3e40..da0645380 100644 --- a/Build/make_portable(.zip).cmd +++ b/Build/make_portable(.zip).cmd @@ -27,9 +27,9 @@ IF /I "%~1" == "-help" GOTO SHOWHELP IF /I "%~1" == "--help" GOTO SHOWHELP IF /I "%~1" == "/?" GOTO SHOWHELP -SET INPUTDIRx86=bin\Release_x86_v143 -SET INPUTDIRx64=bin\Release_x64_v143 -SET "TEMP_NAME=make_portable_temp" +SET INPUTDIRx86="bin\Release_x86_v143" +SET INPUTDIRx64="bin\Release_x64_v143" +SET TEMP_NAME="make_portable_temp" IF NOT EXIST "..\%INPUTDIRx86%\Notepad3.exe" CALL :SUBMSG "ERROR" "Compile Notepad3 x86 first!" IF NOT EXIST "..\%INPUTDIRx86%\minipath.exe" CALL :SUBMSG "ERROR" "Compile MiniPath x86 first!" @@ -60,30 +60,29 @@ PUSHD "%TEMP_NAME%" "%SEVENZIP%" a -tzip -mcu=on -mx=7 Notepad3_%NP3_VER%.zip * >NUL IF %ERRORLEVEL% NEQ 0 CALL :SUBMSG "ERROR" "Compilation failed!" -CALL :SUBMSG "INFO" "Notepad3_%NP3_VER%.zip created successfully!" +CALL :SUBMSG "INFO" "Notepad3_%NP3_VER%_Portable.zip created successfully!" -MOVE /Y "Notepad3_%NP3_VER%.zip" ".." >NUL +MOVE /Y "Notepad3_%NP3_VER%.zip" "..\Notepad3_%NP3_VER%_Portable.zip" >NUL POPD IF EXIST "%TEMP_NAME%" RD /S /Q "%TEMP_NAME%" POPD - :END TITLE Finished! ECHO. :: Pause of 4 seconds to verify the logfile before exiting :: =========================================================================================== -:: ping -n 5 127.0.0.1>nul +ping -n 5 127.0.0.1>nul ENDLOCAL EXIT /B :SubZipFiles -SET "ZIP_NAME=Notepad3_%NP3_VER%_%2%SUFFIX%" +SET "ZIP_NAME=Notepad3_%NP3_VER%_%2%_Portable" TITLE Creating %ZIP_NAME%.zip... CALL :SUBMSG "INFO" "Creating %ZIP_NAME%.zip..." IF EXIST "%TEMP_NAME%" RD /S /Q "%TEMP_NAME%" diff --git a/Build/notepad3_setup.iss b/Build/notepad3_x64_setup.iss similarity index 72% rename from Build/notepad3_setup.iss rename to Build/notepad3_x64_setup.iss index c269651d0..5a6d5ae22 100644 --- a/Build/notepad3_setup.iss +++ b/Build/notepad3_x64_setup.iss @@ -1,630 +1,566 @@ -;* Notepad3 - Installer script x64 and x86 -;* -;* (c) Rizonesoft 2008-2022 - -; Requirements: -; Inno Setup: https://www.jrsoftware.org/isdl.php - -; Preprocessor related stuff -#if VER < EncodeVer(6,0,5) - #error Update your Inno Setup version (6.0.5 or newer) -#endif - -#define bindir "..\Bin" - -#ifnexist bindir + "\Release_x86_v143\Notepad3.exe" - #error Compile Notepad3 x86 first -#endif - -#ifnexist bindir + "\Release_x86_v143\minipath.exe" - #error Compile MiniPath x86 first -#endif - -#ifnexist bindir + "\Release_x64_v143\Notepad3.exe" - #error Compile Notepad3 x64 first -#endif - -#ifnexist bindir + "\Release_x64_v143\minipath.exe" - #error Compile MiniPath x64 first -#endif - -#define app_name "Notepad3" -#define app_publisher "Rizonesoft" -#define app_version GetVersionNumbersString(bindir + "\Release_x86_v143\Notepad3.exe") -#define app_copyright "Copyright © 2008-2022 Rizonesoft" -#define quick_launch "{userappdata}\Microsoft\Internet Explorer\Quick Launch" - -[Setup] -AppId={#app_name} -AppName={#app_name} -AppVersion={#app_version} -AppVerName={#app_name} {#app_version} -AppPublisher={#app_publisher} -AppPublisherURL=https://rizonesoft.com -AppSupportURL=https://rizonesoft.com -AppUpdatesURL=https://rizonesoft.com -AppContact=https://rizonesoft.com -AppCopyright={#app_copyright} -VersionInfoVersion={#app_version} -UninstallDisplayIcon={app}\Notepad3.exe -UninstallDisplayName={#app_name} {#app_version} -DefaultDirName={commonpf}\Notepad3 -LicenseFile="..\License.txt" -OutputDir=.\Packages -OutputBaseFilename={#app_name}_{#app_version}_Setup -WizardStyle=modern -WizardSmallImageFile=.\Resources\WizardSmallImageFile.bmp -Compression=lzma2/max -InternalCompressLevel=max -SolidCompression=yes -EnableDirDoesntExistWarning=no -AllowNoIcons=yes -ShowTasksTreeLines=yes -DisableProgramGroupPage=yes -DisableReadyPage=yes -DisableWelcomePage=yes -AllowCancelDuringInstall=yes -UsedUserAreasWarning=no -MinVersion=0,6.1sp1 -ArchitecturesAllowed=x86 x64 -ArchitecturesInstallIn64BitMode=x64 -#ifexist "..\signinfo_notepad3.txt" -SignTool=MySignTool -#endif -CloseApplications=true -SetupMutex='{#app_name}' + '_setup_mutex' - -[Languages] -Name: "en"; MessagesFile: "compiler:Default.isl" - -[Messages] -SetupAppTitle=Setup - {#app_name} -SetupWindowTitle=Setup - {#app_name} - -[CustomMessages] -en.msg_AppIsRunning=Setup has detected that {#app_name} is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. -en.msg_AppIsRunningUninstall=Uninstall has detected that {#app_name} is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. -en.msg_DeleteSettings=Do you also want to delete {#app_name}'s settings?%n%nIf you plan on installing {#app_name} again then you do not have to delete them. -#if defined(sse_required) -en.msg_simd_sse=This build of {#app_name} requires a CPU with SSE extension support.%n%nYour CPU does not have those capabilities. -#elif defined(sse2_required) -en.msg_simd_sse2=This build of {#app_name} requires a CPU with SSE2 extension support.%n%nYour CPU does not have those capabilities. -#endif -en.tsk_AllUsers=For all users -en.tsk_CurrentUser=For the current user only -en.tsk_Other=Other tasks: -en.tsk_ResetSettings=Reset {#app_name}'s settings -en.tsk_RemoveDefault=Restore Windows Notepad -en.tsk_SetDefault=Replace Windows Notepad with {#app_name} -en.tsk_StartMenuIcon=Create a Start Menu shortcut -en.tsk_LaunchWelcomePage=Important Release Information! -en.tsk_RemoveOpenWith=Remove "Open with {#app_name}" from the context menu -en.tsk_SetOpenWith=Add "Open with {#app_name}" to the context menu - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "desktopicon\user"; Description: "{cm:tsk_CurrentUser}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked exclusive -Name: "desktopicon\common"; Description: "{cm:tsk_AllUsers}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked exclusive -Name: "startup_icon"; Description: "{cm:tsk_StartMenuIcon}"; GroupDescription: "{cm:AdditionalIcons}" -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.01 -Name: "reset_settings"; Description: "{cm:tsk_ResetSettings}"; GroupDescription: "{cm:tsk_Other}"; Flags: checkedonce unchecked; Check: SettingsExistCheck() -Name: "set_default"; Description: "{cm:tsk_SetDefault}"; GroupDescription: "{cm:tsk_Other}"; Check: not DefaulNotepadCheck() -Name: "remove_default"; Description: "{cm:tsk_RemoveDefault}"; GroupDescription: "{cm:tsk_Other}"; Flags: checkedonce unchecked; Check: DefaulNotepadCheck() -Name: "set_openwith"; Description: "{cm:tsk_SetOpenWith}"; GroupDescription: "{cm:tsk_Other}"; Check: not OpenWithCheck() -Name: "remove_openwith"; Description: "{cm:tsk_RemoveOpenWith}"; GroupDescription: "{cm:tsk_Other}"; Flags: checkedonce unchecked; Check: OpenWithCheck() - -[Files] -Source: "{#bindir}\Release_x64_v143\Notepad3.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\minipath.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\grepWinNP3.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\Notepad3.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\minipath.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\grepWinNP3.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "..\License.txt"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\Readme.txt"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\grepWinNP3\grepWinLicense.txt"; DestDir: "{app}"; Flags: ignoreversion -Source: "Notepad3.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3"; Flags: onlyifdoesntexist uninsneveruninstall -Source: "minipath.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3"; Flags: onlyifdoesntexist uninsneveruninstall -Source: "Themes\Dark.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3\Themes"; Flags: ignoreversion uninsneveruninstall -Source: "Themes\Obsidian.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3\Themes"; Flags: ignoreversion uninsneveruninstall -Source: "Themes\Sombra.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3\Themes"; Flags: ignoreversion uninsneveruninstall -Source: "{#bindir}\Release_x64_v143\lng\mplng.dll"; DestDir: "{app}\lng"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\np3lng.dll"; DestDir: "{app}\lng"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\gwLng\*.lang"; DestDir: "{app}\lng\gwLng"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\af-ZA\mplng.dll.mui"; DestDir: "{app}\lng\af-ZA"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\af-ZA\np3lng.dll.mui"; DestDir: "{app}\lng\af-ZA"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\be-BY\mplng.dll.mui"; DestDir: "{app}\lng\be-BY"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\be-BY\np3lng.dll.mui"; DestDir: "{app}\lng\be-BY"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\de-DE\mplng.dll.mui"; DestDir: "{app}\lng\de-DE"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\de-DE\np3lng.dll.mui"; DestDir: "{app}\lng\de-DE"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\el-GR\mplng.dll.mui"; DestDir: "{app}\lng\el-GR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\el-GR\np3lng.dll.mui"; DestDir: "{app}\lng\el-GR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\en-GB\mplng.dll.mui"; DestDir: "{app}\lng\en-GB"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\en-GB\np3lng.dll.mui"; DestDir: "{app}\lng\en-GB"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\es-ES\mplng.dll.mui"; DestDir: "{app}\lng\es-ES"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\es-ES\np3lng.dll.mui"; DestDir: "{app}\lng\es-ES"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\es-MX\mplng.dll.mui"; DestDir: "{app}\lng\es-MX"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\es-MX\np3lng.dll.mui"; DestDir: "{app}\lng\es-MX"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\fr-FR\mplng.dll.mui"; DestDir: "{app}\lng\fr-FR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\fr-FR\np3lng.dll.mui"; DestDir: "{app}\lng\fr-FR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\hi-IN\mplng.dll.mui"; DestDir: "{app}\lng\hi-IN"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\hi-IN\np3lng.dll.mui"; DestDir: "{app}\lng\hi-IN"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\hu-HU\mplng.dll.mui"; DestDir: "{app}\lng\hu-HU"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\hu-HU\np3lng.dll.mui"; DestDir: "{app}\lng\hu-HU"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\id-ID\mplng.dll.mui"; DestDir: "{app}\lng\id-ID"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\id-ID\np3lng.dll.mui"; DestDir: "{app}\lng\id-ID"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\it-IT\mplng.dll.mui"; DestDir: "{app}\lng\it-IT"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\it-IT\np3lng.dll.mui"; DestDir: "{app}\lng\it-IT"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\ja-JP\mplng.dll.mui"; DestDir: "{app}\lng\ja-JP"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\ja-JP\np3lng.dll.mui"; DestDir: "{app}\lng\ja-JP"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\ko-KR\mplng.dll.mui"; DestDir: "{app}\lng\ko-KR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\ko-KR\np3lng.dll.mui"; DestDir: "{app}\lng\ko-KR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\nl-NL\mplng.dll.mui"; DestDir: "{app}\lng\nl-NL"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\nl-NL\np3lng.dll.mui"; DestDir: "{app}\lng\nl-NL"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\pl-PL\mplng.dll.mui"; DestDir: "{app}\lng\pl-PL"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\pl-PL\np3lng.dll.mui"; DestDir: "{app}\lng\pl-PL"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\pt-BR\mplng.dll.mui"; DestDir: "{app}\lng\pt-BR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\pt-BR\np3lng.dll.mui"; DestDir: "{app}\lng\pt-BR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\pt-PT\mplng.dll.mui"; DestDir: "{app}\lng\pt-PT"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\pt-PT\np3lng.dll.mui"; DestDir: "{app}\lng\pt-PT"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\ru-RU\mplng.dll.mui"; DestDir: "{app}\lng\ru-RU"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\ru-RU\np3lng.dll.mui"; DestDir: "{app}\lng\ru-RU"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\sk-SK\mplng.dll.mui"; DestDir: "{app}\lng\sk-SK"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\sk-SK\np3lng.dll.mui"; DestDir: "{app}\lng\sk-SK"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\sv-SE\mplng.dll.mui"; DestDir: "{app}\lng\sv-SE"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\sv-SE\np3lng.dll.mui"; DestDir: "{app}\lng\sv-SE"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\tr-TR\mplng.dll.mui"; DestDir: "{app}\lng\tr-TR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\tr-TR\np3lng.dll.mui"; DestDir: "{app}\lng\tr-TR"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\vi-VN\mplng.dll.mui"; DestDir: "{app}\lng\vi-VN"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\vi-VN\np3lng.dll.mui"; DestDir: "{app}\lng\vi-VN"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\zh-CN\mplng.dll.mui"; DestDir: "{app}\lng\zh-CN"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\zh-CN\np3lng.dll.mui"; DestDir: "{app}\lng\zh-CN"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\zh-TW\mplng.dll.mui"; DestDir: "{app}\lng\zh-TW"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x64_v143\lng\zh-TW\np3lng.dll.mui"; DestDir: "{app}\lng\zh-TW"; Flags: ignoreversion; Check: Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\mplng.dll"; DestDir: "{app}\lng"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\np3lng.dll"; DestDir: "{app}\lng"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\gwLng\*.lang"; DestDir: "{app}\lng\gwLng"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\af-ZA\mplng.dll.mui"; DestDir: "{app}\lng\af-ZA"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\af-ZA\np3lng.dll.mui"; DestDir: "{app}\lng\af-ZA"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\be-BY\mplng.dll.mui"; DestDir: "{app}\lng\be-BY"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\be-BY\np3lng.dll.mui"; DestDir: "{app}\lng\be-BY"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\de-DE\mplng.dll.mui"; DestDir: "{app}\lng\de-DE"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\de-DE\np3lng.dll.mui"; DestDir: "{app}\lng\de-DE"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\el-GR\mplng.dll.mui"; DestDir: "{app}\lng\el-GR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\el-GR\np3lng.dll.mui"; DestDir: "{app}\lng\el-GR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\en-GB\mplng.dll.mui"; DestDir: "{app}\lng\en-GB"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\en-GB\np3lng.dll.mui"; DestDir: "{app}\lng\en-GB"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\es-ES\mplng.dll.mui"; DestDir: "{app}\lng\es-ES"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\es-ES\np3lng.dll.mui"; DestDir: "{app}\lng\es-ES"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\es-MX\mplng.dll.mui"; DestDir: "{app}\lng\es-MX"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\es-MX\np3lng.dll.mui"; DestDir: "{app}\lng\es-MX"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\fr-FR\mplng.dll.mui"; DestDir: "{app}\lng\fr-FR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\fr-FR\np3lng.dll.mui"; DestDir: "{app}\lng\fr-FR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\hi-IN\mplng.dll.mui"; DestDir: "{app}\lng\hi-IN"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\hi-IN\np3lng.dll.mui"; DestDir: "{app}\lng\hi-IN"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\hu-HU\mplng.dll.mui"; DestDir: "{app}\lng\hu-HU"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\hu-HU\np3lng.dll.mui"; DestDir: "{app}\lng\hu-HU"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\id-ID\mplng.dll.mui"; DestDir: "{app}\lng\id-ID"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\id-ID\np3lng.dll.mui"; DestDir: "{app}\lng\id-ID"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\it-IT\mplng.dll.mui"; DestDir: "{app}\lng\it-IT"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\it-IT\np3lng.dll.mui"; DestDir: "{app}\lng\it-IT"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\ja-JP\mplng.dll.mui"; DestDir: "{app}\lng\ja-JP"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\ja-JP\np3lng.dll.mui"; DestDir: "{app}\lng\ja-JP"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\ko-KR\mplng.dll.mui"; DestDir: "{app}\lng\ko-KR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\ko-KR\np3lng.dll.mui"; DestDir: "{app}\lng\ko-KR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\nl-NL\mplng.dll.mui"; DestDir: "{app}\lng\nl-NL"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\nl-NL\np3lng.dll.mui"; DestDir: "{app}\lng\nl-NL"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\pl-PL\mplng.dll.mui"; DestDir: "{app}\lng\pl-PL"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\pl-PL\np3lng.dll.mui"; DestDir: "{app}\lng\pl-PL"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\pt-BR\mplng.dll.mui"; DestDir: "{app}\lng\pt-BR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\pt-BR\np3lng.dll.mui"; DestDir: "{app}\lng\pt-BR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\pt-PT\mplng.dll.mui"; DestDir: "{app}\lng\pt-PT"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\pt-PT\np3lng.dll.mui"; DestDir: "{app}\lng\pt-PT"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\ru-RU\mplng.dll.mui"; DestDir: "{app}\lng\ru-RU"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\ru-RU\np3lng.dll.mui"; DestDir: "{app}\lng\ru-RU"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\sk-SK\mplng.dll.mui"; DestDir: "{app}\lng\sk-SK"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\sk-SK\np3lng.dll.mui"; DestDir: "{app}\lng\sk-SK"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\sv-SE\mplng.dll.mui"; DestDir: "{app}\lng\sv-SE"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\sv-SE\np3lng.dll.mui"; DestDir: "{app}\lng\sv-SE"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\tr-TR\mplng.dll.mui"; DestDir: "{app}\lng\tr-TR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\tr-TR\np3lng.dll.mui"; DestDir: "{app}\lng\tr-TR"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\vi-VN\mplng.dll.mui"; DestDir: "{app}\lng\vi-VN"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\vi-VN\np3lng.dll.mui"; DestDir: "{app}\lng\vi-VN"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\zh-CN\mplng.dll.mui"; DestDir: "{app}\lng\zh-CN"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\zh-CN\np3lng.dll.mui"; DestDir: "{app}\lng\zh-CN"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\zh-TW\mplng.dll.mui"; DestDir: "{app}\lng\zh-TW"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "{#bindir}\Release_x86_v143\lng\zh-TW\np3lng.dll.mui"; DestDir: "{app}\lng\zh-TW"; Flags: ignoreversion; Check: not Is64BitInstallMode() -Source: "Changes.txt"; DestDir: "{app}\Docs"; Flags: ignoreversion -Source: "Docs\*.txt"; DestDir: "{app}\Docs"; Flags: ignoreversion -Source: "Docs\crypto\*.txt"; DestDir: "{app}\Docs\crypto"; Flags: ignoreversion -Source: "Docs\uthash\*.txt"; DestDir: "{app}\Docs\uthash"; Flags: ignoreversion - -[Dirs] -Name: "{userappdata}\Rizonesoft\Notepad3\Favorites" -Name: "{userappdata}\Rizonesoft\Notepad3\Themes" - -[Icons] -Name: "{commondesktop}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; AppUserModelID: "{#app_publisher}.{#app_name}"; IconFilename: "{app}\Notepad3.exe"; Comment: "{#app_name} {#app_version}"; Tasks: desktopicon\common -Name: "{userdesktop}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; AppUserModelID: "{#app_publisher}.{#app_name}"; IconFilename: "{app}\Notepad3.exe"; IconIndex: 0; Comment: "{#app_name} {#app_version}"; Tasks: desktopicon\user -Name: "{commonprograms}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; AppUserModelID: "{#app_publisher}.{#app_name}"; IconFilename: "{app}\Notepad3.exe"; IconIndex: 0; Comment: "{#app_name} {#app_version}"; Tasks: startup_icon -Name: "{#quick_launch}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Notepad3.exe"; IconIndex: 0; Comment: "{#app_name} {#app_version}"; Tasks: quicklaunchicon - -[INI] -Filename: "{app}\Notepad3.ini"; Section: "Notepad3"; Key: "Notepad3.ini"; String: "%APPDATA%\Rizonesoft\Notepad3\Notepad3.ini" -Filename: "{app}\minipath.ini"; Section: "minipath"; Key: "minipath.ini"; String: "%APPDATA%\Rizonesoft\Notepad3\minipath.ini" -Filename: "{userappdata}\Rizonesoft\Notepad3\Notepad3.ini"; Section: "Settings"; Key: "Favorites"; String: "%APPDATA%\Rizonesoft\Notepad3\Favorites\" - -[Registry] -Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\FileSystem"; ValueType: dword; ValueName: "LongPathsEnabled"; ValueData: "1" -;The following "Keys/Values" are required to allow a "MS Notepad Replacement" in Windows 11. -Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"; ValueType: dword; ValueName: "UseFilter"; ValueData: "1" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe"; ValueType: string; ValueData: "C:\Windows\System32\Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe"; ValueType: string; ValueName: "Path"; ValueData: "C:\Windows\System32" -Root: "HKCR"; Subkey: ".inf"; ValueType: string; ValueData: "inffile" -Root: "HKCR"; Subkey: ".ini"; ValueType: string; ValueData: "inifile" -Root: "HKCR"; Subkey: ".ps1"; ValueType: string; ValueData: "Microsoft.PowerShellScript.1" -Root: "HKCR"; Subkey: ".psd1"; ValueType: string; ValueData: "Microsoft.PowerShellData.1" -Root: "HKCR"; Subkey: ".psm1"; ValueType: string; ValueData: "Microsoft.PowerShellModule.1" -Root: "HKCR"; Subkey: ".log"; ValueType: string; ValueData: "txtfile" -Root: "HKCR"; Subkey: ".scp"; ValueType: string; ValueData: "txtfile" -Root: "HKCR"; Subkey: ".txt"; ValueType: string; ValueData: "txtfile" -Root: "HKCR"; Subkey: ".wtx"; ValueType: string; ValueData: "txtfile" -Root: "HKCR"; Subkey: "inffile\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\imageres.dll,-69" -Root: "HKCR"; Subkey: "inffile\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "inffile\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" -Root: "HKCR"; Subkey: "inifile\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\imageres.dll,-69" -Root: "HKCR"; Subkey: "inifile\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "inifile\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" -Root: "HKCR"; Subkey: "Microsoft.PowerShellScript.1\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell_ise.exe,1" -Root: "HKCR"; Subkey: "Microsoft.PowerShellScript.1\Shell"; ValueType: string; ValueData: "Open" -Root: "HKCR"; Subkey: "Microsoft.PowerShellScript.1\shell\Open\Command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "Microsoft.PowerShellData.1\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell_ise.exe,1" -Root: "HKCR"; Subkey: "Microsoft.PowerShellData.1\Shell"; ValueType: string; ValueData: "Open" -Root: "HKCR"; Subkey: "Microsoft.PowerShellData.1\shell\Open\Command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "Microsoft.PowerShellModule.1\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell_ise.exe,1" -Root: "HKCR"; Subkey: "Microsoft.PowerShellModule.1\Shell"; ValueType: string; ValueData: "Open" -Root: "HKCR"; Subkey: "Microsoft.PowerShellModule.1\shell\Open\Command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "txtfile\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\imageres.dll,-102" -Root: "HKCR"; Subkey: "txtfile\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "txtfile\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" -Root: "HKCR"; Subkey: "txtfile\shell\printto"; ValueType: string; ValueName: "NeverDefault" -Root: "HKCR"; Subkey: "txtfile\shell\printto\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /pt ""%1"" ""%2"" ""%3"" ""%4" -Root: "HKCR"; Subkey: "txtfilelegacy\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\imageres.dll,-102" -Root: "HKCR"; Subkey: "txtfilelegacy\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" -Root: "HKCR"; Subkey: "txtfilelegacy\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" -Root: "HKCR"; Subkey: "txtfilelegacy\shell\printto"; ValueType: string; ValueName: "NeverDefault" -Root: "HKCR"; Subkey: "txtfilelegacy\shell\printto\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /pt ""%1"" ""%2"" ""%3"" ""%4" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "inffile" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "inifile" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "Microsoft.PowerShellScript.1" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "Microsoft.PowerShellData.1" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "Microsoft.PowerShellModule.1" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\UserChoice"; Flags: deletekey -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.inf"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.ini"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.ps1"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.psd1"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.psm1"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.log"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.scp"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.txt"; ValueData: "0" -Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.wtx"; ValueData: "0" - -[Run] -Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked; Description: "{cm:LaunchProgram,{#app_name}}" -Filename: "https://www.rizonesoft.com/downloads/notepad3/update/"; Flags: nowait postinstall shellexec skipifsilent unchecked; Description: "{cm:tsk_LaunchWelcomePage}" - -[InstallDelete] -Type: files; Name: "{userdesktop}\{#app_name}.lnk"; Check: not WizardIsTaskSelected('desktopicon\user') and IsUpgrade() -Type: files; Name: "{commondesktop}\{#app_name}.lnk"; Check: not WizardIsTaskSelected('desktopicon\common') and IsUpgrade() -Type: files; Name: "{userstartmenu}\{#app_name}.lnk"; Check: not WizardIsTaskSelected('startup_icon') and IsUpgrade() -Type: files; Name: "{#quick_launch}\{#app_name}.lnk"; OnlyBelowVersion: 6.01; Check: not WizardIsTaskSelected('quicklaunchicon') and IsUpgrade() -Type: files; Name: "{app}\Notepad3.ini" -Type: files; Name: "{app}\Readme.txt" -Type: files; Name: "{app}\minipath.ini" -Type: files; Name: "{app}\grepWinNP3.ini" - -[UninstallDelete] -Type: files; Name: "{app}\Notepad3.ini" -Type: files; Name: "{app}\minipath.ini" -Type: files; Name: "{app}\grepWinNP3.ini" -Type: dirifempty; Name: "{app}" - -[Code] -const - IFEO = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe'; - APPH = 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Notepad3.exe'; - -function InitializeSetup: Boolean; -begin - Result := True; - - //Check for Processor SSE2 support. - #if defined(sse2_required) - if not IsSSE2Supported() then begin - SuppressibleMsgBox(CustomMessage('msg_simd_sse2'), mbCriticalError, MB_OK, MB_OK); - Result := False; - end; - #elif defined(sse_required) - if not IsSSESupported() then begin - SuppressibleMsgBox(CustomMessage('msg_simd_sse'), mbCriticalError, MB_OK, MB_OK); - Result := False; - end; - #endif - -end; - -// Check if Notepad3 has replaced Windows Notepad -function DefaulNotepadCheck(): Boolean; -var - sDebugger: String; -begin - if RegQueryStringValue(HKLM, IFEO, 'Debugger', sDebugger) and - (sDebugger = (ExpandConstant('"{app}\Notepad3.exe" /z'))) then begin - Log('Custom Code: {#app_name} is set as the default notepad'); - Result := True; - end - else begin - Log('Custom Code: {#app_name} is NOT set as the default notepad'); - Result := False; - end; -end; - -// Check if "Open with Notepad3" is installed. -function OpenWithCheck(): Boolean; -var - sOpenWith: String; -begin - if RegQueryStringValue(HKEY_CLASSES_ROOT, '*\shell\Open with Notepad3', 'Icon', sOpenWith) and - (sOpenWith = (ExpandConstant('{app}\Notepad3.exe,0'))) then begin - Log('Custom Code: {#app_name} Open with Notepad3 is set.'); - Result := True; - end - else begin - Log('Custom Code: {#app_name} Open with Notepad3 is not set.'); - Result := False; - end; -end; - -#if defined(sse_required) || defined(sse2_required) -function IsProcessorFeaturePresent(Feature: Integer): Boolean; -external 'IsProcessorFeaturePresent@kernel32.dll stdcall'; -#endif - -#if defined(sse_required) -function IsSSESupported(): Boolean; -begin - // PF_XMMI_INSTRUCTIONS_AVAILABLE - Result := IsProcessorFeaturePresent(6); -end; - -#elif defined(sse2_required) - -function IsSSE2Supported(): Boolean; -begin - // PF_XMMI64_INSTRUCTIONS_AVAILABLE - Result := IsProcessorFeaturePresent(10); -end; - -#endif - -function IsOldBuildInstalled(sInfFile: String): Boolean; -begin - if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Notepad2') and - FileExists(ExpandConstant('{commonpf}\Notepad2\' + sInfFile)) then - Result := True - else - Result := False; -end; - -function IsUpgrade(): Boolean; -var - sPrevPath: String; -begin - sPrevPath := WizardForm.PrevAppDir; - Result := (sPrevPath <> ''); -end; - -// Check if Notepad3's settings exist -function SettingsExistCheck(): Boolean; -begin - if FileExists(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\Notepad3.ini')) then begin - Log('Custom Code: Settings are present'); - Result := True; - end - else begin - Log('Custom Code: Settings are NOT present'); - Result := False; - end; -end; - -function UninstallOldVersion(sInfFile: String): Integer; -var - iResultCode: Integer; -begin - // Return Values: - // 0 - no idea - // 1 - error executing the command - // 2 - successfully executed the command - - // default return value - Result := 0; - // TODO: use RegQueryStringValue - if not Exec('rundll32.exe', ExpandConstant('advpack.dll,LaunchINFSectionEx ' + '"{commonpf}\Notepad2\' + sInfFile +'",DefaultUninstall,,8,N'), '', SW_HIDE, ewWaitUntilTerminated, iResultCode) then begin - Result := 1; - end - else begin - Result := 2; - Sleep(200); - end; -end; - -function ShouldSkipPage(PageID: Integer): Boolean; -begin - // Hide the license page if IsUpgrade() - if IsUpgrade() and (PageID = wpLicense) then - Result := True; -end; - -procedure AddReg(); -begin - RegWriteStringValue(HKCR, 'Applications\notepad3.exe', 'AppUserModelID', 'Rizonesoft.Notepad3'); - RegWriteStringValue(HKCR, 'Applications\notepad3.exe\shell\open\command', '', ExpandConstant('"{app}\Notepad3.exe" "%1"')); - RegWriteStringValue(HKCR, '*\OpenWithList\notepad3.exe', '', ''); - RegWriteStringValue(HKLM, APPH, '', ExpandConstant('{app}\Notepad3.exe')); - RegWriteStringValue(HKLM, APPH, 'Path', ExpandConstant('{app}')); -end; - -procedure CleanUpSettings(); -begin - DeleteFile(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\Notepad3.ini')); - DeleteFile(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\minipath.ini')); - DeleteFile(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\grepWinNP3.ini')); - RemoveDir(ExpandConstant('{userappdata}\Rizonesoft\Notepad3')); -end; - -procedure RemoveReg(); -begin - RegDeleteKeyIncludingSubkeys(HKCR, 'Applications\notepad3.exe'); - RegDeleteKeyIncludingSubkeys(HKCR, '*\OpenWithList\notepad3.exe'); - RegDeleteKeyIncludingSubkeys(HKCR, '*\shell\Open with Notepad3'); - RegDeleteKeyIncludingSubkeys(HKLM, APPH); -end; - -procedure CurPageChanged(CurPageID: Integer); -begin - if CurPageID = wpSelectTasks then - WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall) - else if CurPageID = wpFinished then - WizardForm.NextButton.Caption := SetupMessage(msgButtonFinish); -end; - -procedure CurStepChanged(CurStep: TSetupStep); -begin - if CurStep = ssInstall then begin - if WizardIsTaskSelected('reset_settings') then - CleanUpSettings(); - - if IsOldBuildInstalled('Uninstall.inf') or IsOldBuildInstalled('Notepad2.inf') then begin - if IsOldBuildInstalled('Uninstall.inf') then begin - Log('Custom Code: The old build is installed, will try to uninstall it'); - if UninstallOldVersion('Uninstall.inf') = 2 then - Log('Custom Code: The old build was successfully uninstalled') - else - Log('Custom Code: Something went wrong when uninstalling the old build'); - end; - - if IsOldBuildInstalled('Notepad2.inf') then begin - Log('Custom Code: The official Notepad2 build is installed, will try to uninstall it'); - if UninstallOldVersion('Notepad2.inf') = 2 then - Log('Custom Code: The official Notepad2 build was successfully uninstalled') - else - Log('Custom Code: Something went wrong when uninstalling the official Notepad2 build'); - end; - - // This is the case where the old build is installed; the DefaulNotepadCheck() returns true - // and the set_default task isn't selected - if not WizardIsTaskSelected('remove_default') then begin - RegWriteStringValue(HKLM, IFEO, 'Debugger', ExpandConstant('"{app}\Notepad3.exe" /z')); - RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 0); - end; - end; - end; - - if CurStep = ssPostInstall then begin - if WizardIsTaskSelected('set_default') then begin - RegWriteStringValue(HKLM, IFEO, 'Debugger', ExpandConstant('"{app}\Notepad3.exe" /z')); - RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 0); - end; - if WizardIsTaskSelected('remove_default') then begin - RegDeleteValue(HKLM, IFEO, 'Debugger'); - RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 1); - end else begin - If RegValueExists (HKLM, IFEO, 'Debugger') then begin - RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 0); - end else begin - RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 1); - end; - end; - if WizardIsTaskSelected('set_openwith') then begin - RegWriteStringValue(HKCR, '*\shell\Open with Notepad3', 'Icon', ExpandConstant('{app}\Notepad3.exe,0')); - RegWriteStringValue(HKCR, '*\shell\Open with Notepad3\command', '', ExpandConstant('"{app}\Notepad3.exe" "%1"')); - end; - if WizardIsTaskSelected('remove_openwith') then begin - RegDeleteKeyIncludingSubkeys(HKCR, '*\shell\Open with Notepad3'); - end; - // Always add Notepad3's AppUserModelID and the rest registry values - AddReg(); - end; -end; - -procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); -begin - // When uninstalling, ask the user to delete Notepad3's settings - if CurUninstallStep = usUninstall then begin - if SettingsExistCheck() then begin - if SuppressibleMsgBox(CustomMessage('msg_DeleteSettings'), mbConfirmation, MB_YESNO or MB_DEFBUTTON2, IDNO) = IDYES then - CleanUpSettings(); - end; - if DefaulNotepadCheck() then begin - RegDeleteValue(HKLM, IFEO, 'Debugger'); - RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 1); - end; - RemoveReg(); - end; -end; - -procedure InitializeWizard(); -begin - WizardForm.SelectTasksLabel.Hide; - WizardForm.TasksList.Top := 0; - WizardForm.TasksList.Height := PageFromID(wpSelectTasks).SurfaceHeight; -end; +;* Notepad3 - Installer script x64 and amr64 +;* +;* (c) Rizonesoft 2008-2022 + +; Requirements: +; Inno Setup: https://www.jrsoftware.org/isdl.php + +; Preprocessor related stuff +#if VER < EncodeVer(6,0,5) + #error Update your Inno Setup version (6.0.5 or newer) +#endif + +#define bindir "..\Bin" + +#ifnexist bindir + "\Release_x64_v143\Notepad3.exe" + #error Compile Notepad3 x64 first +#endif + +#ifnexist bindir + "\Release_x64_v143\minipath.exe" + #error Compile MiniPath x64 first +#endif + +#define app_name "Notepad3" +#define app_publisher "Rizonesoft" +#define app_version GetVersionNumbersString(bindir + "\Release_x64_v143\Notepad3.exe") +#define app_copyright "Copyright © 2008-2022 Rizonesoft" +#define quick_launch "{userappdata}\Microsoft\Internet Explorer\Quick Launch" + +[Setup] +AppId={#app_name} +AppName={#app_name} +AppVersion={#app_version} +AppVerName={#app_name} {#app_version} +AppPublisher={#app_publisher} +AppPublisherURL=https://rizonesoft.com +AppSupportURL=https://rizonesoft.com +AppUpdatesURL=https://rizonesoft.com +AppContact=https://rizonesoft.com +AppCopyright={#app_copyright} +VersionInfoVersion={#app_version} +UninstallDisplayIcon={app}\Notepad3.exe +UninstallDisplayName={#app_name} {#app_version} +DefaultDirName={commonpf}\Notepad3 +LicenseFile="..\License.txt" +OutputDir=.\Packages +OutputBaseFilename={#app_name}_{#app_version}_X64_Setup +WizardStyle=modern +WizardSmallImageFile=.\Resources\WizardSmallImageFile.bmp +Compression=lzma2/max +InternalCompressLevel=max +SolidCompression=yes +EnableDirDoesntExistWarning=no +AllowNoIcons=yes +ShowTasksTreeLines=yes +DisableProgramGroupPage=yes +DisableReadyPage=yes +DisableWelcomePage=yes +AllowCancelDuringInstall=yes +UsedUserAreasWarning=no +MinVersion=0,6.1sp1 +ArchitecturesAllowed=x64 arm64 +ArchitecturesInstallIn64BitMode=x64 arm64 +#ifexist "..\signinfo_notepad3.txt" +SignTool=MySignTool +#endif +CloseApplications=true +SetupMutex='{#app_name}' + '_setup_mutex' + +[Languages] +Name: "en"; MessagesFile: "compiler:Default.isl" + +[Messages] +SetupAppTitle=Setup - {#app_name} +SetupWindowTitle=Setup - {#app_name} + +[CustomMessages] +en.msg_AppIsRunning=Setup has detected that {#app_name} is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. +en.msg_AppIsRunningUninstall=Uninstall has detected that {#app_name} is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. +en.msg_DeleteSettings=Do you also want to delete {#app_name}'s settings?%n%nIf you plan on installing {#app_name} again then you do not have to delete them. +#if defined(sse_required) +en.msg_simd_sse=This build of {#app_name} requires a CPU with SSE extension support.%n%nYour CPU does not have those capabilities. +#elif defined(sse2_required) +en.msg_simd_sse2=This build of {#app_name} requires a CPU with SSE2 extension support.%n%nYour CPU does not have those capabilities. +#endif +en.tsk_AllUsers=For all users +en.tsk_CurrentUser=For the current user only +en.tsk_Other=Other tasks: +en.tsk_ResetSettings=Reset {#app_name}'s settings +en.tsk_RemoveDefault=Restore Windows Notepad +en.tsk_SetDefault=Replace Windows Notepad with {#app_name} +en.tsk_StartMenuIcon=Create a Start Menu shortcut +en.tsk_LaunchWelcomePage=Important Release Information! +en.tsk_RemoveOpenWith=Remove "Open with {#app_name}" from the context menu +en.tsk_SetOpenWith=Add "Open with {#app_name}" to the context menu + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "desktopicon\user"; Description: "{cm:tsk_CurrentUser}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked exclusive +Name: "desktopicon\common"; Description: "{cm:tsk_AllUsers}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked exclusive +Name: "startup_icon"; Description: "{cm:tsk_StartMenuIcon}"; GroupDescription: "{cm:AdditionalIcons}" +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.01 +Name: "reset_settings"; Description: "{cm:tsk_ResetSettings}"; GroupDescription: "{cm:tsk_Other}"; Flags: checkedonce unchecked; Check: SettingsExistCheck() +Name: "set_default"; Description: "{cm:tsk_SetDefault}"; GroupDescription: "{cm:tsk_Other}"; Check: not DefaulNotepadCheck() +Name: "remove_default"; Description: "{cm:tsk_RemoveDefault}"; GroupDescription: "{cm:tsk_Other}"; Flags: checkedonce unchecked; Check: DefaulNotepadCheck() +Name: "set_openwith"; Description: "{cm:tsk_SetOpenWith}"; GroupDescription: "{cm:tsk_Other}"; Check: not OpenWithCheck() +Name: "remove_openwith"; Description: "{cm:tsk_RemoveOpenWith}"; GroupDescription: "{cm:tsk_Other}"; Flags: checkedonce unchecked; Check: OpenWithCheck() + +[Files] +Source: "{#bindir}\Release_x64_v143\Notepad3.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\minipath.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\grepWinNP3.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\License.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\Readme.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\grepWinNP3\grepWinLicense.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "Notepad3.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3"; Flags: onlyifdoesntexist uninsneveruninstall +Source: "minipath.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3"; Flags: onlyifdoesntexist uninsneveruninstall +Source: "Themes\Dark.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3\Themes"; Flags: ignoreversion uninsneveruninstall +Source: "Themes\Obsidian.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3\Themes"; Flags: ignoreversion uninsneveruninstall +Source: "Themes\Sombra.ini"; DestDir: "{userappdata}\Rizonesoft\Notepad3\Themes"; Flags: ignoreversion uninsneveruninstall +Source: "{#bindir}\Release_x64_v143\lng\mplng.dll"; DestDir: "{app}\lng"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\np3lng.dll"; DestDir: "{app}\lng"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\gwLng\*.lang"; DestDir: "{app}\lng\gwLng"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\af-ZA\mplng.dll.mui"; DestDir: "{app}\lng\af-ZA"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\af-ZA\np3lng.dll.mui"; DestDir: "{app}\lng\af-ZA"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\be-BY\mplng.dll.mui"; DestDir: "{app}\lng\be-BY"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\be-BY\np3lng.dll.mui"; DestDir: "{app}\lng\be-BY"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\de-DE\mplng.dll.mui"; DestDir: "{app}\lng\de-DE"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\de-DE\np3lng.dll.mui"; DestDir: "{app}\lng\de-DE"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\el-GR\mplng.dll.mui"; DestDir: "{app}\lng\el-GR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\el-GR\np3lng.dll.mui"; DestDir: "{app}\lng\el-GR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\en-GB\mplng.dll.mui"; DestDir: "{app}\lng\en-GB"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\en-GB\np3lng.dll.mui"; DestDir: "{app}\lng\en-GB"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\es-ES\mplng.dll.mui"; DestDir: "{app}\lng\es-ES"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\es-ES\np3lng.dll.mui"; DestDir: "{app}\lng\es-ES"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\es-MX\mplng.dll.mui"; DestDir: "{app}\lng\es-MX"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\es-MX\np3lng.dll.mui"; DestDir: "{app}\lng\es-MX"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\fr-FR\mplng.dll.mui"; DestDir: "{app}\lng\fr-FR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\fr-FR\np3lng.dll.mui"; DestDir: "{app}\lng\fr-FR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\hi-IN\mplng.dll.mui"; DestDir: "{app}\lng\hi-IN"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\hi-IN\np3lng.dll.mui"; DestDir: "{app}\lng\hi-IN"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\hu-HU\mplng.dll.mui"; DestDir: "{app}\lng\hu-HU"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\hu-HU\np3lng.dll.mui"; DestDir: "{app}\lng\hu-HU"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\id-ID\mplng.dll.mui"; DestDir: "{app}\lng\id-ID"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\id-ID\np3lng.dll.mui"; DestDir: "{app}\lng\id-ID"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\it-IT\mplng.dll.mui"; DestDir: "{app}\lng\it-IT"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\it-IT\np3lng.dll.mui"; DestDir: "{app}\lng\it-IT"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\ja-JP\mplng.dll.mui"; DestDir: "{app}\lng\ja-JP"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\ja-JP\np3lng.dll.mui"; DestDir: "{app}\lng\ja-JP"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\ko-KR\mplng.dll.mui"; DestDir: "{app}\lng\ko-KR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\ko-KR\np3lng.dll.mui"; DestDir: "{app}\lng\ko-KR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\nl-NL\mplng.dll.mui"; DestDir: "{app}\lng\nl-NL"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\nl-NL\np3lng.dll.mui"; DestDir: "{app}\lng\nl-NL"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\pl-PL\mplng.dll.mui"; DestDir: "{app}\lng\pl-PL"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\pl-PL\np3lng.dll.mui"; DestDir: "{app}\lng\pl-PL"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\pt-BR\mplng.dll.mui"; DestDir: "{app}\lng\pt-BR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\pt-BR\np3lng.dll.mui"; DestDir: "{app}\lng\pt-BR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\pt-PT\mplng.dll.mui"; DestDir: "{app}\lng\pt-PT"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\pt-PT\np3lng.dll.mui"; DestDir: "{app}\lng\pt-PT"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\ru-RU\mplng.dll.mui"; DestDir: "{app}\lng\ru-RU"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\ru-RU\np3lng.dll.mui"; DestDir: "{app}\lng\ru-RU"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\sk-SK\mplng.dll.mui"; DestDir: "{app}\lng\sk-SK"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\sk-SK\np3lng.dll.mui"; DestDir: "{app}\lng\sk-SK"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\sv-SE\mplng.dll.mui"; DestDir: "{app}\lng\sv-SE"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\sv-SE\np3lng.dll.mui"; DestDir: "{app}\lng\sv-SE"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\tr-TR\mplng.dll.mui"; DestDir: "{app}\lng\tr-TR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\tr-TR\np3lng.dll.mui"; DestDir: "{app}\lng\tr-TR"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\vi-VN\mplng.dll.mui"; DestDir: "{app}\lng\vi-VN"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\vi-VN\np3lng.dll.mui"; DestDir: "{app}\lng\vi-VN"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\zh-CN\mplng.dll.mui"; DestDir: "{app}\lng\zh-CN"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\zh-CN\np3lng.dll.mui"; DestDir: "{app}\lng\zh-CN"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\zh-TW\mplng.dll.mui"; DestDir: "{app}\lng\zh-TW"; Flags: ignoreversion +Source: "{#bindir}\Release_x64_v143\lng\zh-TW\np3lng.dll.mui"; DestDir: "{app}\lng\zh-TW"; Flags: ignoreversion +Source: "Changes.txt"; DestDir: "{app}\Docs"; Flags: ignoreversion +Source: "Docs\*.txt"; DestDir: "{app}\Docs"; Flags: ignoreversion +Source: "Docs\crypto\*.txt"; DestDir: "{app}\Docs\crypto"; Flags: ignoreversion +Source: "Docs\uthash\*.txt"; DestDir: "{app}\Docs\uthash"; Flags: ignoreversion + +[Dirs] +Name: "{userappdata}\Rizonesoft\Notepad3\Favorites" +Name: "{userappdata}\Rizonesoft\Notepad3\Themes" + +[Icons] +Name: "{commondesktop}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; AppUserModelID: "{#app_publisher}.{#app_name}"; IconFilename: "{app}\Notepad3.exe"; Comment: "{#app_name} {#app_version}"; Tasks: desktopicon\common +Name: "{userdesktop}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; AppUserModelID: "{#app_publisher}.{#app_name}"; IconFilename: "{app}\Notepad3.exe"; IconIndex: 0; Comment: "{#app_name} {#app_version}"; Tasks: desktopicon\user +Name: "{commonprograms}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; AppUserModelID: "{#app_publisher}.{#app_name}"; IconFilename: "{app}\Notepad3.exe"; IconIndex: 0; Comment: "{#app_name} {#app_version}"; Tasks: startup_icon +Name: "{#quick_launch}\{#app_name}"; Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Notepad3.exe"; IconIndex: 0; Comment: "{#app_name} {#app_version}"; Tasks: quicklaunchicon + +[INI] +Filename: "{app}\Notepad3.ini"; Section: "Notepad3"; Key: "Notepad3.ini"; String: "%APPDATA%\Rizonesoft\Notepad3\Notepad3.ini" +Filename: "{app}\minipath.ini"; Section: "minipath"; Key: "minipath.ini"; String: "%APPDATA%\Rizonesoft\Notepad3\minipath.ini" +Filename: "{userappdata}\Rizonesoft\Notepad3\Notepad3.ini"; Section: "Settings"; Key: "Favorites"; String: "%APPDATA%\Rizonesoft\Notepad3\Favorites\" + +[Registry] +Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\FileSystem"; ValueType: dword; ValueName: "LongPathsEnabled"; ValueData: "1" +;The following "Keys/Values" are required to allow a "MS Notepad Replacement" in Windows 11. +Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"; ValueType: dword; ValueName: "UseFilter"; ValueData: "1" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe"; ValueType: string; ValueData: "C:\Windows\System32\Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe"; ValueType: string; ValueName: "Path"; ValueData: "C:\Windows\System32" +Root: "HKCR"; Subkey: ".inf"; ValueType: string; ValueData: "inffile" +Root: "HKCR"; Subkey: ".ini"; ValueType: string; ValueData: "inifile" +Root: "HKCR"; Subkey: ".ps1"; ValueType: string; ValueData: "Microsoft.PowerShellScript.1" +Root: "HKCR"; Subkey: ".psd1"; ValueType: string; ValueData: "Microsoft.PowerShellData.1" +Root: "HKCR"; Subkey: ".psm1"; ValueType: string; ValueData: "Microsoft.PowerShellModule.1" +Root: "HKCR"; Subkey: ".log"; ValueType: string; ValueData: "txtfile" +Root: "HKCR"; Subkey: ".scp"; ValueType: string; ValueData: "txtfile" +Root: "HKCR"; Subkey: ".txt"; ValueType: string; ValueData: "txtfile" +Root: "HKCR"; Subkey: ".wtx"; ValueType: string; ValueData: "txtfile" +Root: "HKCR"; Subkey: "inffile\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\imageres.dll,-69" +Root: "HKCR"; Subkey: "inffile\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "inffile\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" +Root: "HKCR"; Subkey: "inifile\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\imageres.dll,-69" +Root: "HKCR"; Subkey: "inifile\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "inifile\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" +Root: "HKCR"; Subkey: "Microsoft.PowerShellScript.1\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell_ise.exe,1" +Root: "HKCR"; Subkey: "Microsoft.PowerShellScript.1\Shell"; ValueType: string; ValueData: "Open" +Root: "HKCR"; Subkey: "Microsoft.PowerShellScript.1\shell\Open\Command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "Microsoft.PowerShellData.1\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell_ise.exe,1" +Root: "HKCR"; Subkey: "Microsoft.PowerShellData.1\Shell"; ValueType: string; ValueData: "Open" +Root: "HKCR"; Subkey: "Microsoft.PowerShellData.1\shell\Open\Command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "Microsoft.PowerShellModule.1\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell_ise.exe,1" +Root: "HKCR"; Subkey: "Microsoft.PowerShellModule.1\Shell"; ValueType: string; ValueData: "Open" +Root: "HKCR"; Subkey: "Microsoft.PowerShellModule.1\shell\Open\Command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "txtfile\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\imageres.dll,-102" +Root: "HKCR"; Subkey: "txtfile\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "txtfile\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" +Root: "HKCR"; Subkey: "txtfile\shell\printto"; ValueType: string; ValueName: "NeverDefault" +Root: "HKCR"; Subkey: "txtfile\shell\printto\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /pt ""%1"" ""%2"" ""%3"" ""%4" +Root: "HKCR"; Subkey: "txtfilelegacy\DefaultIcon"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\imageres.dll,-102" +Root: "HKCR"; Subkey: "txtfilelegacy\shell\open\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe %1" +Root: "HKCR"; Subkey: "txtfilelegacy\shell\print\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /p %1" +Root: "HKCR"; Subkey: "txtfilelegacy\shell\printto"; ValueType: string; ValueName: "NeverDefault" +Root: "HKCR"; Subkey: "txtfilelegacy\shell\printto\command"; ValueType: expandsz; ValueData: "%SystemRoot%\system32\notepad.exe /pt ""%1"" ""%2"" ""%3"" ""%4" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.inf\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "inffile" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "inifile" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ps1\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "Microsoft.PowerShellScript.1" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psd1\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "Microsoft.PowerShellData.1" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.psm1\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "Microsoft.PowerShellModule.1" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.scp\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\UserChoice"; Flags: deletekey +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; ValueType: string; ValueName: "a"; ValueData: "Notepad3.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; ValueType: string; ValueName: "b"; ValueData: "Notepad.exe" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\OpenWithList"; ValueType: string; ValueName: "MRUList"; ValueData: "ab" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wtx\UserChoice"; ValueType: string; ValueName: "ProgId"; ValueData: "txtfile" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.inf"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.ini"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.ps1"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.psd1"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.psm1"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.log"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.scp"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.txt"; ValueData: "0" +Root: "HKCU"; Subkey: "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts"; ValueType: dword; ValueName: "Applications\Notepad3.exe_.wtx"; ValueData: "0" + +[Run] +Filename: "{app}\Notepad3.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked; Description: "{cm:LaunchProgram,{#app_name}}" +Filename: "https://www.rizonesoft.com/downloads/notepad3/update/"; Flags: nowait postinstall shellexec skipifsilent unchecked; Description: "{cm:tsk_LaunchWelcomePage}" + +[InstallDelete] +Type: files; Name: "{userdesktop}\{#app_name}.lnk"; Check: not WizardIsTaskSelected('desktopicon\user') and IsUpgrade() +Type: files; Name: "{commondesktop}\{#app_name}.lnk"; Check: not WizardIsTaskSelected('desktopicon\common') and IsUpgrade() +Type: files; Name: "{userstartmenu}\{#app_name}.lnk"; Check: not WizardIsTaskSelected('startup_icon') and IsUpgrade() +Type: files; Name: "{#quick_launch}\{#app_name}.lnk"; OnlyBelowVersion: 6.01; Check: not WizardIsTaskSelected('quicklaunchicon') and IsUpgrade() +Type: files; Name: "{app}\Notepad3.ini" +Type: files; Name: "{app}\Readme.txt" +Type: files; Name: "{app}\minipath.ini" +Type: files; Name: "{app}\grepWinNP3.ini" + +[UninstallDelete] +Type: files; Name: "{app}\Notepad3.ini" +Type: files; Name: "{app}\minipath.ini" +Type: files; Name: "{app}\grepWinNP3.ini" +Type: dirifempty; Name: "{app}" + +[Code] +const + IFEO = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe'; + APPH = 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Notepad3.exe'; + +function InitializeSetup: Boolean; +begin + Result := True; + + //Check for Processor SSE2 support. + #if defined(sse2_required) + if not IsSSE2Supported() then begin + SuppressibleMsgBox(CustomMessage('msg_simd_sse2'), mbCriticalError, MB_OK, MB_OK); + Result := False; + end; + #elif defined(sse_required) + if not IsSSESupported() then begin + SuppressibleMsgBox(CustomMessage('msg_simd_sse'), mbCriticalError, MB_OK, MB_OK); + Result := False; + end; + #endif + +end; + +// Check if Notepad3 has replaced Windows Notepad +function DefaulNotepadCheck(): Boolean; +var + sDebugger: String; +begin + if RegQueryStringValue(HKLM, IFEO, 'Debugger', sDebugger) and + (sDebugger = (ExpandConstant('"{app}\Notepad3.exe" /z'))) then begin + Log('Custom Code: {#app_name} is set as the default notepad'); + Result := True; + end + else begin + Log('Custom Code: {#app_name} is NOT set as the default notepad'); + Result := False; + end; +end; + +// Check if "Open with Notepad3" is installed. +function OpenWithCheck(): Boolean; +var + sOpenWith: String; +begin + if RegQueryStringValue(HKEY_CLASSES_ROOT, '*\shell\Open with Notepad3', 'Icon', sOpenWith) and + (sOpenWith = (ExpandConstant('{app}\Notepad3.exe,0'))) then begin + Log('Custom Code: {#app_name} Open with Notepad3 is set.'); + Result := True; + end + else begin + Log('Custom Code: {#app_name} Open with Notepad3 is not set.'); + Result := False; + end; +end; + +#if defined(sse_required) || defined(sse2_required) +function IsProcessorFeaturePresent(Feature: Integer): Boolean; +external 'IsProcessorFeaturePresent@kernel32.dll stdcall'; +#endif + +#if defined(sse_required) +function IsSSESupported(): Boolean; +begin + // PF_XMMI_INSTRUCTIONS_AVAILABLE + Result := IsProcessorFeaturePresent(6); +end; + +#elif defined(sse2_required) + +function IsSSE2Supported(): Boolean; +begin + // PF_XMMI64_INSTRUCTIONS_AVAILABLE + Result := IsProcessorFeaturePresent(10); +end; + +#endif + +function IsOldBuildInstalled(sInfFile: String): Boolean; +begin + if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Notepad2') and + FileExists(ExpandConstant('{commonpf}\Notepad2\' + sInfFile)) then + Result := True + else + Result := False; +end; + +function IsUpgrade(): Boolean; +var + sPrevPath: String; +begin + sPrevPath := WizardForm.PrevAppDir; + Result := (sPrevPath <> ''); +end; + +// Check if Notepad3's settings exist +function SettingsExistCheck(): Boolean; +begin + if FileExists(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\Notepad3.ini')) then begin + Log('Custom Code: Settings are present'); + Result := True; + end + else begin + Log('Custom Code: Settings are NOT present'); + Result := False; + end; +end; + +function UninstallOldVersion(sInfFile: String): Integer; +var + iResultCode: Integer; +begin + // Return Values: + // 0 - no idea + // 1 - error executing the command + // 2 - successfully executed the command + + // default return value + Result := 0; + // TODO: use RegQueryStringValue + if not Exec('rundll32.exe', ExpandConstant('advpack.dll,LaunchINFSectionEx ' + '"{commonpf}\Notepad2\' + sInfFile +'",DefaultUninstall,,8,N'), '', SW_HIDE, ewWaitUntilTerminated, iResultCode) then begin + Result := 1; + end + else begin + Result := 2; + Sleep(200); + end; +end; + +function ShouldSkipPage(PageID: Integer): Boolean; +begin + // Hide the license page if IsUpgrade() + if IsUpgrade() and (PageID = wpLicense) then + Result := True; +end; + +procedure AddReg(); +begin + RegWriteStringValue(HKCR, 'Applications\notepad3.exe', 'AppUserModelID', 'Rizonesoft.Notepad3'); + RegWriteStringValue(HKCR, 'Applications\notepad3.exe\shell\open\command', '', ExpandConstant('"{app}\Notepad3.exe" "%1"')); + RegWriteStringValue(HKCR, '*\OpenWithList\notepad3.exe', '', ''); + RegWriteStringValue(HKLM, APPH, '', ExpandConstant('{app}\Notepad3.exe')); + RegWriteStringValue(HKLM, APPH, 'Path', ExpandConstant('{app}')); +end; + +procedure CleanUpSettings(); +begin + DeleteFile(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\Notepad3.ini')); + DeleteFile(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\minipath.ini')); + DeleteFile(ExpandConstant('{userappdata}\Rizonesoft\Notepad3\grepWinNP3.ini')); + RemoveDir(ExpandConstant('{userappdata}\Rizonesoft\Notepad3')); +end; + +procedure RemoveReg(); +begin + RegDeleteKeyIncludingSubkeys(HKCR, 'Applications\notepad3.exe'); + RegDeleteKeyIncludingSubkeys(HKCR, '*\OpenWithList\notepad3.exe'); + RegDeleteKeyIncludingSubkeys(HKCR, '*\shell\Open with Notepad3'); + RegDeleteKeyIncludingSubkeys(HKLM, APPH); +end; + +procedure CurPageChanged(CurPageID: Integer); +begin + if CurPageID = wpSelectTasks then + WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall) + else if CurPageID = wpFinished then + WizardForm.NextButton.Caption := SetupMessage(msgButtonFinish); +end; + +procedure CurStepChanged(CurStep: TSetupStep); +begin + if CurStep = ssInstall then begin + if WizardIsTaskSelected('reset_settings') then + CleanUpSettings(); + + if IsOldBuildInstalled('Uninstall.inf') or IsOldBuildInstalled('Notepad2.inf') then begin + if IsOldBuildInstalled('Uninstall.inf') then begin + Log('Custom Code: The old build is installed, will try to uninstall it'); + if UninstallOldVersion('Uninstall.inf') = 2 then + Log('Custom Code: The old build was successfully uninstalled') + else + Log('Custom Code: Something went wrong when uninstalling the old build'); + end; + + if IsOldBuildInstalled('Notepad2.inf') then begin + Log('Custom Code: The official Notepad2 build is installed, will try to uninstall it'); + if UninstallOldVersion('Notepad2.inf') = 2 then + Log('Custom Code: The official Notepad2 build was successfully uninstalled') + else + Log('Custom Code: Something went wrong when uninstalling the official Notepad2 build'); + end; + + // This is the case where the old build is installed; the DefaulNotepadCheck() returns true + // and the set_default task isn't selected + if not WizardIsTaskSelected('remove_default') then begin + RegWriteStringValue(HKLM, IFEO, 'Debugger', ExpandConstant('"{app}\Notepad3.exe" /z')); + RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 0); + end; + end; + end; + + if CurStep = ssPostInstall then begin + if WizardIsTaskSelected('set_default') then begin + RegWriteStringValue(HKLM, IFEO, 'Debugger', ExpandConstant('"{app}\Notepad3.exe" /z')); + RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 0); + end; + if WizardIsTaskSelected('remove_default') then begin + RegDeleteValue(HKLM, IFEO, 'Debugger'); + RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 1); + end else begin + If RegValueExists (HKLM, IFEO, 'Debugger') then begin + RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 0); + end else begin + RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 1); + end; + end; + if WizardIsTaskSelected('set_openwith') then begin + RegWriteStringValue(HKCR, '*\shell\Open with Notepad3', 'Icon', ExpandConstant('{app}\Notepad3.exe,0')); + RegWriteStringValue(HKCR, '*\shell\Open with Notepad3\command', '', ExpandConstant('"{app}\Notepad3.exe" "%1"')); + end; + if WizardIsTaskSelected('remove_openwith') then begin + RegDeleteKeyIncludingSubkeys(HKCR, '*\shell\Open with Notepad3'); + end; + // Always add Notepad3's AppUserModelID and the rest registry values + AddReg(); + end; +end; + +procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); +begin + // When uninstalling, ask the user to delete Notepad3's settings + if CurUninstallStep = usUninstall then begin + if SettingsExistCheck() then begin + if SuppressibleMsgBox(CustomMessage('msg_DeleteSettings'), mbConfirmation, MB_YESNO or MB_DEFBUTTON2, IDNO) = IDYES then + CleanUpSettings(); + end; + if DefaulNotepadCheck() then begin + RegDeleteValue(HKLM, IFEO, 'Debugger'); + RegWriteDWordValue(HKLM, IFEO, 'UseFilter', 1); + end; + RemoveReg(); + end; +end; + +procedure InitializeWizard(); +begin + WizardForm.SelectTasksLabel.Hide; + WizardForm.TasksList.Top := 0; + WizardForm.TasksList.Height := PageFromID(wpSelectTasks).SurfaceHeight; +end; diff --git a/Build/notepad3_x86_setup.iss b/Build/notepad3_x86_setup.iss index df41359bf..2d82dd34e 100644 --- a/Build/notepad3_x86_setup.iss +++ b/Build/notepad3_x86_setup.iss @@ -58,7 +58,7 @@ DisableWelcomePage=yes AllowCancelDuringInstall=yes UsedUserAreasWarning=no MinVersion=0,6.1sp1 -ArchitecturesAllowed=x86 x64 +ArchitecturesAllowed=x86 x64 arm64 ArchitecturesInstallIn64BitMode= #ifexist "..\signinfo_notepad3.txt" SignTool=MySignTool