1; KeePass Password Safe Installation Script 2; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! 3; Thanks to Hilbrand Edskes for installer improvements. 4 5#define MyAppNameShort "KeePass" 6#define MyAppNameShortEx "KeePass 2" 7#define MyAppName "KeePass Password Safe" 8#define MyAppNameEx "KeePass Password Safe 2" 9#define MyAppPublisher "Dominik Reichl" 10#define MyAppURL "https://keepass.info/" 11#define MyAppExeName "KeePass.exe" 12#define MyAppUrlName "KeePass.url" 13#define MyAppHelpName "KeePass.chm" 14#define MyAppId "KeePassPasswordSafe2" 15 16#define KeeVersionStr "2.49" 17#define KeeVersionStrWithMinor "2.49" 18#define KeeVersionStrWithMinorPath "2.49" 19#define KeeVersionWin "2.49.0.0" 20#define KeeVersionWinShort "2.49" 21 22#define KeeDevPeriod "2003-2021" 23 24[Setup] 25AppName={#MyAppName} 26AppVersion={#KeeVersionWinShort} 27AppVerName={#MyAppName} {#KeeVersionStrWithMinor} 28AppId={#MyAppId} 29AppPublisher={#MyAppPublisher} 30AppPublisherURL={#MyAppURL} 31AppSupportURL={#MyAppURL} 32AppUpdatesURL={#MyAppURL} 33AppCopyright=Copyright © {#KeeDevPeriod} {#MyAppPublisher} 34MinVersion=6.1sp1 35 36; When specifying ArchitecturesInstallIn64BitMode=x64, Inno Setup performs 37; a side-by-side installation instead of updating a previous installation 38; (32-bit installation on a 64-bit system). 39; In order to avoid this, we only change DefaultDirName. 40; ArchitecturesInstallIn64BitMode=x64 41DefaultDirName={code:MyGetProgramFiles}\{#MyAppNameEx} 42 43DefaultGroupName={#MyAppNameEx} 44AllowNoIcons=yes 45LicenseFile=..\Docs\License.txt 46OutputDir=..\Build\KeePass_Distrib 47OutputBaseFilename={#MyAppNameShort}-{#KeeVersionStrWithMinorPath}-Setup 48Compression=lzma2/ultra 49SolidCompression=yes 50InternalCompressLevel=ultra 51UninstallDisplayIcon={app}\{#MyAppExeName} 52AppMutex=KeePassAppMutex,Global\KeePassAppMutexEx 53SetupMutex=KeePassSetupMutex2 54ChangesAssociations=yes 55VersionInfoVersion={#KeeVersionWin} 56VersionInfoCompany={#MyAppPublisher} 57VersionInfoDescription={#MyAppName} {#KeeVersionStr} Setup 58VersionInfoCopyright=Copyright © {#KeeDevPeriod} {#MyAppPublisher} 59SetupIconFile=compiler:SetupClassicIcon.ico 60; WizardImageFile=compiler:WizClassicImage-IS.bmp 61; WizardSmallImageFile=compiler:WizClassicSmallImage-IS.bmp 62WizardStyle=classic 63DisableDirPage=auto 64AlwaysShowDirOnReadyPage=yes 65DisableProgramGroupPage=yes 66AlwaysShowGroupOnReadyPage=no 67 68[Languages] 69Name: en; MessagesFile: "compiler:Default.isl" 70Name: ca; MessagesFile: "compiler:Languages\Catalan.isl" 71Name: cs; MessagesFile: "compiler:Languages\Czech.isl" 72Name: da; MessagesFile: "compiler:Languages\Danish.isl" 73Name: de; MessagesFile: "compiler:Languages\German.isl" 74Name: es; MessagesFile: "compiler:Languages\Spanish.isl" 75Name: fi; MessagesFile: "compiler:Languages\Finnish.isl" 76Name: fr; MessagesFile: "compiler:Languages\French.isl" 77; Name: hu; MessagesFile: "compiler:Languages\Hungarian.isl" 78Name: it; MessagesFile: "compiler:Languages\Italian.isl" 79Name: ja; MessagesFile: "compiler:Languages\Japanese.isl" 80Name: nb; MessagesFile: "compiler:Languages\Norwegian.isl" 81Name: nl; MessagesFile: "compiler:Languages\Dutch.isl" 82Name: pl; MessagesFile: "compiler:Languages\Polish.isl" 83Name: ptBR; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" 84Name: ptPT; MessagesFile: "compiler:Languages\Portuguese.isl" 85Name: ru; MessagesFile: "compiler:Languages\Russian.isl" 86; Name: sk; MessagesFile: "compiler:Languages\Slovak.isl" 87Name: sl; MessagesFile: "compiler:Languages\Slovenian.isl" 88 89[CustomMessages] 90MyCompCore=KeePass core files 91MyCompHelp=User manual 92MyCompNtvLib=Native support library 93MyCompXSL=XSL stylesheets for KDBX XML files 94; "KeePass performance optimization" could falsely be interpreted as 95; operating system performance optimization carried out by KeePass 96MyCompNGen=Optimize KeePass performance 97MyCompPreLoad=Optimize KeePass start-up performance 98MyStatusNGen=Optimizing KeePass performance... 99MyStatusPreLoad=Optimizing KeePass start-up performance... 100MyOptPlgPage=Open the plugins web page 101 102ca.MyCompCore=Fitxers del nucli del KeePass 103ca.MyCompHelp=Manual d'usuari 104ca.MyCompNtvLib=Biblioteca de suport nativa 105ca.MyCompXSL=Fulls d'estil XSL pels fitxers XML del KeePass 106ca.MyCompNGen=Optimitza el rendiment del KeePass 107ca.MyCompPreLoad=Optimitza l'inici del KeePass 108ca.MyStatusNGen=Optimitzant el rendiment del KeePass... 109ca.MyStatusPreLoad=Optimitzant l'inici del KeePass... 110ca.MyOptPlgPage=Obre el web dels connectors 111 112da.MyCompCore=KeePass kernefiler 113da.MyCompHelp=Brugermanual 114da.MyCompNtvLib=Oprindeligt understøttelsesbibliotek 115da.MyCompXSL=XSL-stylesheets til KDBX XML-filer 116da.MyCompNGen=Optimer KeePass ydeevne 117da.MyCompPreLoad=Optimer KeePass opstarts ydeevne 118da.MyStatusNGen=Optimerer KeePass ydeevne... 119da.MyStatusPreLoad=Optimerer KeePass opstarts ydeevne... 120da.MyOptPlgPage=Åbn websiden med plugins 121 122de.MyCompCore=KeePass-Hauptdateien 123de.MyCompHelp=Benutzerhandbuch 124de.MyCompNtvLib=Native Unterstützungsbibliothek 125de.MyCompXSL=XSL-Stylesheets für KDBX-XML-Dateien 126de.MyCompNGen=KeePass-Leistung optimieren 127de.MyCompPreLoad=KeePass-Start-Leistung optimieren 128de.MyStatusNGen=Optimiere KeePass-Leistung... 129de.MyStatusPreLoad=Optimiere KeePass-Start-Leistung... 130de.MyOptPlgPage=Die Plugins-Webseite öffnen 131 132es.MyCompCore=Archivos de instalación de KeePass 133es.MyCompHelp=Manual del usuario 134es.MyCompNtvLib=Biblioteca para soporte nativo 135es.MyCompXSL=Hojas de estilo XSL para los archivos XML de KDBX 136es.MyCompNGen=Optimizar el rendimiento de KeePass 137es.MyCompPreLoad=Optimizar el rendimiento de inicio de KeePass 138es.MyStatusNGen=Optimizando el rendimiento de KeePass... 139es.MyStatusPreLoad=Optimizando el rendimiento de inicio de KeePass... 140es.MyOptPlgPage=Abrir la página web de los complementos 141 142fi.MyCompCore=KeePassin ydintiedostot 143fi.MyCompHelp=Käyttäjän opas 144fi.MyCompNtvLib=Natiivitukikirjasto 145fi.MyCompXSL=XSL-tyylarkit KDBX XML-tiedostoja varten 146fi.MyCompNGen=KeePassin suorituksen optimointi 147fi.MyCompPreLoad=KeePassin käynnistyksen optimointi 148fi.MyStatusNGen=Optimoidaan KeePassin suoritusta... 149fi.MyStatusPreLoad=Optimoidaan KeePassin käynnistystä... 150fi.MyOptPlgPage=Avaa liitännäiset ja laajennukset sisältävä sivusto 151 152fr.MyCompCore=Fichiers de base KeePass 153fr.MyCompHelp=Manuel de l'utilisateur 154fr.MyCompNtvLib=Bibliothèque de support native 155fr.MyCompXSL=Feuilles de style XSL pour les fichiers KDBX XML 156fr.MyCompNGen=Optimiser les performances de KeePass 157fr.MyCompPreLoad=Optimiser les performances de démarrage de KeePass 158fr.MyStatusNGen=En cours d'optimisation des performances de KeePass... 159fr.MyStatusPreLoad=En cours d'optimisation des performances de démarrage de KeePass... 160fr.MyOptPlgPage=Ouvre la page des greffons (plugins) sur la toile 161 162; hu.MyCompCore=KeePass nélkülözhetetlen fájlok 163; hu.MyCompHelp=Használati utasítás 164; hu.MyCompNtvLib=Natív támogatási könyvtár 165; hu.MyCompXSL=XSL stíluslapok a KDBX XML fájlokhoz 166; hu.MyCompNGen=Optimalizálja a KeePass teljesítményét 167; hu.MyCompPreLoad=Optimalizálja a KeePass indítási teljesítményét 168; hu.MyStatusNGen=A KeePass teljesítményének optimalizálása... 169; hu.MyStatusPreLoad=A KeePass indítási teljesítményének optimalizálása... 170; hu.MyOptPlgPage=Nyissa meg a bővítmények weboldalát 171 172it.MyCompCore=File core di KeePass 173it.MyCompHelp=Manuale utente 174it.MyCompNtvLib=Libreria di supporto nativa 175it.MyCompXSL=Fogli di stile XSL per i file KDBX XML 176it.MyCompNGen=Ottimizza le prestazioni di KeePass 177it.MyCompPreLoad=Ottimizza le prestazioni di avvio di KeePass 178it.MyStatusNGen=Ottimizzazione delle prestazioni di KeePass... 179it.MyStatusPreLoad=Ottimizzazione delle prestazioni di avvio di KeePass... 180it.MyOptPlgPage=Apri la pagina web dei plug-in 181 182ja.MyCompCore=KeePassのコアファイル 183ja.MyCompHelp=ユーザーマニュアル 184ja.MyCompNtvLib=ネイティブサポートライブラリ 185ja.MyCompXSL=KDBXのXMLファイル用XSLスタイルシート 186ja.MyCompNGen=KeePassのパフォーマンスを最適化 187ja.MyCompPreLoad=KeePassの起動パフォーマンスを最適化 188ja.MyStatusNGen=KeePassのパフォーマンスを最適化中... 189ja.MyStatusPreLoad=KeePassの起動パフォーマンスを最適化中... 190ja.MyOptPlgPage=プラグインのWebページを開きます。 191 192nl.MyCompCore=KeePass basisbestanden 193nl.MyCompHelp=Handleiding 194nl.MyCompNtvLib=Standaard bestandsondersteuning 195nl.MyCompXSL=XSL stylesheets voor KDBX XML bestanden 196nl.MyCompNGen=Optimaliseer KeePass prestaties 197nl.MyCompPreLoad=Optimaliseer KeePass opstartprestaties 198nl.MyStatusNGen=KeePass prestaties optimaliseren... 199nl.MyStatusPreLoad=KeePass opstartprestaties optimaliseren... 200nl.MyOptPlgPage=Open de plugins webpagina 201 202pl.MyCompCore=Główne pliki KeePassa 203pl.MyCompHelp=Przewodnik użytkownika 204pl.MyCompNtvLib=Wbudowana obsługa dodatkowych funkcji 205pl.MyCompXSL=Arkusze stylów XSL dla plików KDBX XML 206pl.MyCompNGen=Optymalizuj wydajność KeePassa 207pl.MyCompPreLoad=Optymalizuj czas uruchamiania KeePassa 208pl.MyStatusNGen=Optymalizowanie wydajności KeePassa... 209pl.MyStatusPreLoad=Optymalizowanie czasu uruchamiania KeePassa... 210pl.MyOptPlgPage=Otwórz stronę internetową z wtyczkami 211 212ptBR.MyCompCore=Arquivos principais do KeePass 213ptBR.MyCompHelp=Manual do usuário 214ptBR.MyCompNtvLib=Biblioteca de suporte nativo 215ptBR.MyCompXSL=Folhas de estilo XSL para arquivos XML KDBX 216ptBR.MyCompNGen=Otimizar desempenho do KeePass 217ptBR.MyCompPreLoad=Otimizar desempenho da inicialização do KeePass 218ptBR.MyStatusNGen=Otimizando desempenho do KeePass... 219ptBR.MyStatusPreLoad=Otimizando desempenho da inicialização do KeePass... 220ptBR.MyOptPlgPage=Abrir página web dos plugins 221 222ptPT.MyCompCore=Ficheiros principais do KeePass 223ptPT.MyCompHelp=Manual do utilizador 224ptPT.MyCompNtvLib=Biblioteca de suporte nativo 225ptPT.MyCompXSL=Folhas de estilo XSL para ficheiros XML KDBX 226ptPT.MyCompNGen=Otimize o desempenho do KeePass 227ptPT.MyCompPreLoad=Otimize o desempenho do arranque do KeePass 228ptPT.MyStatusNGen=Otimizando o desempenho do KeePass... 229ptPT.MyStatusPreLoad=Otimizando o desempenho do arranque do KeePass... 230ptPT.MyOptPlgPage=Abrir a página web dos miniaplicativos 231 232ru.MyCompCore=Основные файлы KeePass 233ru.MyCompHelp=Руководство пользователя 234ru.MyCompNtvLib=Встроенная библиотека поддержки 235ru.MyCompXSL=Таблицы стилей XSL для XML-файлов KDBX 236ru.MyCompNGen=Оптимизировать производительность KeePass 237ru.MyCompPreLoad=Оптимизировать скорость запуска KeePass 238ru.MyStatusNGen=Оптимизация производительности KeePass... 239ru.MyStatusPreLoad=Оптимизация скорости запуска KeePass... 240ru.MyOptPlgPage=Открыть веб-страницу плагинов 241 242[Tasks] 243Name: FileAssoc; Description: {cm:AssocFileExtension,{#MyAppNameShort},.kdbx} 244Name: DesktopIcon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked 245Name: QuickLaunchIcon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked 246 247[Components] 248Name: Core; Description: "{cm:MyCompCore}"; Flags: fixed; Types: full compact custom 249Name: UserDoc; Description: "{cm:MyCompHelp}"; Types: full custom 250Name: KeePassLibC; Description: "{cm:MyCompNtvLib}"; Types: full custom 251; Name: NativeLib; Description: Native Crypto Library (Fast Key Transformations); Types: full custom 252Name: XSL; Description: "{cm:MyCompXSL}"; Types: full custom 253Name: NGen; Description: "{cm:MyCompNGen}"; Types: full custom; ExtraDiskSpaceRequired: 8388608 254Name: PreLoad; Description: "{cm:MyCompPreLoad}"; Types: full custom; ExtraDiskSpaceRequired: 2048 255; Name: FileAssoc; Description: {cm:AssocFileExtension,{#MyAppNameShort},.kdbx}; Types: full custom 256 257[Dirs] 258Name: "{app}\Languages"; Flags: uninsalwaysuninstall 259Name: "{app}\Plugins"; Flags: uninsalwaysuninstall 260 261[Files] 262Source: ..\Build\KeePass_Distrib\KeePass.exe; DestDir: {app}; Flags: ignoreversion; Components: Core 263Source: ..\Build\KeePass_Distrib\KeePass.XmlSerializers.dll; DestDir: {app}; Flags: ignoreversion; Components: Core 264Source: ..\Build\KeePass_Distrib\KeePass.exe.config; DestDir: {app}; Flags: ignoreversion; Components: Core 265Source: ..\Build\KeePass_Distrib\KeePass.config.xml; DestDir: {app}; Flags: ignoreversion; Components: Core 266Source: ..\Build\KeePass_Distrib\License.txt; DestDir: {app}; Flags: ignoreversion; Components: Core 267Source: ..\Build\KeePass_Distrib\ShInstUtil.exe; DestDir: {app}; Flags: ignoreversion; Components: Core 268Source: ..\Build\KeePass_Distrib\KeePass.chm; DestDir: {app}; Flags: ignoreversion; Components: UserDoc 269Source: ..\Build\KeePass_Distrib\KeePassLibC32.dll; DestDir: {app}; Flags: ignoreversion; Components: KeePassLibC 270Source: ..\Build\KeePass_Distrib\KeePassLibC64.dll; DestDir: {app}; Flags: ignoreversion; Components: KeePassLibC 271; Source: ..\Build\KeePass_Distrib\KeePassNtv32.dll; DestDir: {app}; Flags: ignoreversion; Components: NativeLib 272; Source: ..\Build\KeePass_Distrib\KeePassNtv64.dll; DestDir: {app}; Flags: ignoreversion; Components: NativeLib 273Source: ..\Build\KeePass_Distrib\XSL\KDBX_Common.xsl; DestDir: {app}\XSL; Flags: ignoreversion; Components: XSL 274Source: ..\Build\KeePass_Distrib\XSL\KDBX_DetailsFull_HTML.xsl; DestDir: {app}\XSL; Flags: ignoreversion; Components: XSL 275Source: ..\Build\KeePass_Distrib\XSL\KDBX_DetailsLight_HTML.xsl; DestDir: {app}\XSL; Flags: ignoreversion; Components: XSL 276Source: ..\Build\KeePass_Distrib\XSL\KDBX_PasswordsOnly_TXT.xsl; DestDir: {app}\XSL; Flags: ignoreversion; Components: XSL 277Source: ..\Build\KeePass_Distrib\XSL\KDBX_Tabular_HTML.xsl; DestDir: {app}\XSL; Flags: ignoreversion; Components: XSL 278 279[Registry] 280; Always unregister .kdbx association at uninstall 281Root: HKCR; Subkey: .kdbx; Flags: uninsdeletekey; Tasks: not FileAssoc 282Root: HKCR; Subkey: kdbxfile; Flags: uninsdeletekey; Tasks: not FileAssoc 283; Register .kdbx association at install, and unregister at uninstall 284Root: HKCR; Subkey: .kdbx; ValueType: string; ValueData: kdbxfile; Flags: uninsdeletekey; Tasks: FileAssoc 285Root: HKCR; Subkey: kdbxfile; ValueType: string; ValueData: KeePass Database; Flags: uninsdeletekey; Tasks: FileAssoc 286Root: HKCR; Subkey: kdbxfile; ValueType: string; ValueName: AlwaysShowExt; Flags: uninsdeletekey; Tasks: FileAssoc 287Root: HKCR; Subkey: kdbxfile\DefaultIcon; ValueType: string; ValueData: """{app}\{#MyAppExeName}"",0"; Flags: uninsdeletekey; Tasks: FileAssoc 288Root: HKCR; Subkey: kdbxfile\shell\open; ValueType: string; ValueData: &Open with {#MyAppName}; Flags: uninsdeletekey; Tasks: FileAssoc 289Root: HKCR; Subkey: kdbxfile\shell\open\command; ValueType: string; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; Flags: uninsdeletekey; Tasks: FileAssoc 290 291; [INI] 292; Filename: {app}\{#MyAppUrlName}; Section: InternetShortcut; Key: URL; String: {#MyAppURL} 293 294[Icons] 295; Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName} 296; Name: {group}\{cm:ProgramOnTheWeb,{#MyAppName}}; Filename: {app}\{#MyAppUrlName} 297; Name: {group}\Help; Filename: {app}\{#MyAppHelpName}; Components: UserDoc 298; Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe} 299Name: {autoprograms}\{#MyAppNameShortEx}; Filename: {app}\{#MyAppExeName} 300Name: {userdesktop}\{#MyAppNameShortEx}; Filename: {app}\{#MyAppExeName}; Tasks: DesktopIcon; Check: MyDesktopCheck 301Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppNameShortEx}; Filename: {app}\{#MyAppExeName}; Tasks: QuickLaunchIcon; Check: MyAppDataCheck 302 303[Run] 304; Filename: {app}\KeePass.exe; Parameters: -RegisterFileExt; Components: FileAssoc 305Filename: {app}\ShInstUtil.exe; Parameters: net_check; WorkingDir: {app}; Flags: skipifdoesntexist skipifsilent 306Filename: {app}\ShInstUtil.exe; Parameters: preload_register; WorkingDir: {app}; StatusMsg: "{cm:MyStatusPreLoad}"; Flags: skipifdoesntexist; Components: PreLoad 307Filename: {app}\ShInstUtil.exe; Parameters: ngen_install; WorkingDir: {app}; StatusMsg: "{cm:MyStatusNGen}"; Flags: skipifdoesntexist; Components: NGen 308Filename: {app}\{#MyAppExeName}; Description: "{cm:LaunchProgram,{#MyAppNameShort}}"; Flags: postinstall nowait skipifsilent 309Filename: "https://keepass.info/plugins.html"; Description: "{cm:MyOptPlgPage}"; Flags: postinstall shellexec skipifsilent unchecked 310 311[UninstallRun] 312; Filename: {app}\KeePass.exe; Parameters: -UnregisterFileExt 313Filename: {app}\ShInstUtil.exe; Parameters: preload_unregister; WorkingDir: {app}; Flags: skipifdoesntexist; RunOnceId: "PreLoad"; Components: PreLoad 314Filename: {app}\ShInstUtil.exe; Parameters: ngen_uninstall; WorkingDir: {app}; Flags: skipifdoesntexist; RunOnceId: "NGen"; Components: NGen 315 316; Delete old files when upgrading 317[InstallDelete] 318Name: {app}\{#MyAppUrlName}; Type: files 319Name: {app}\XSL\KDBX_DetailsFull.xsl; Type: files 320Name: {app}\XSL\KDBX_DetailsLite.xsl; Type: files 321Name: {app}\XSL\KDBX_PasswordsOnly.xsl; Type: files 322Name: {app}\XSL\KDBX_Styles.css; Type: files 323Name: {app}\XSL\KDBX_Tabular.xsl; Type: files 324Name: {app}\XSL\TableHeader.gif; Type: files 325Name: {group}\{#MyAppName}.lnk; Type: files 326Name: {group}\{cm:ProgramOnTheWeb,{#MyAppName}}.lnk; Type: files 327Name: {group}\Help.lnk; Type: files 328Name: {group}\{cm:UninstallProgram,{#MyAppName}}.lnk; Type: files 329Name: {group}; Type: dirifempty 330Name: {userdesktop}\{#MyAppName}.lnk; Type: files; Check: MyDesktopCheck 331Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}.lnk; Type: files; Check: MyAppDataCheck 332 333; [UninstallDelete] 334; Type: files; Name: {app}\{#MyAppUrlName} 335 336[Code] 337function MyDesktopCheck(): Boolean; 338begin 339 try 340 ExpandConstant('{userdesktop}'); 341 Result := True; 342 except 343 Result := False; 344 end; 345end; 346 347function MyAppDataCheck(): Boolean; 348begin 349 try 350 ExpandConstant('{userappdata}'); 351 Result := True; 352 except 353 Result := False; 354 end; 355end; 356 357function MyGetProgramFiles(Param: String): String; 358begin 359 if IsWin64() then 360 Result := ExpandConstant('{autopf64}') 361 else 362 Result := ExpandConstant('{autopf}'); 363end; 364