| 1 | ; Script generated by the Inno Setup Script Wizard. |
|---|
| 2 | ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! |
|---|
| 3 | |
|---|
| 4 | #include "version.h" |
|---|
| 5 | #define EraserSafeVerString "Eraser" + SAFE_FULL_VERSION_NUMBER_STRING |
|---|
| 6 | #define EraserAppVerString "Eraser " + FULL_VERSION_NUMBER_STRING |
|---|
| 7 | |
|---|
| 8 | [Setup] |
|---|
| 9 | AppName=Eraser |
|---|
| 10 | AppVerName={#EraserAppVerString} |
|---|
| 11 | AppVersion={#EraserAppVerString} |
|---|
| 12 | AppPublisher=The Eraser Project |
|---|
| 13 | AppPublisherURL=http://eraser.sourceforge.net/ |
|---|
| 14 | AppSupportURL=http://sourceforge.net/projects/eraser/ |
|---|
| 15 | AppUpdatesURL=http://sourceforge.net/projects/eraser/ |
|---|
| 16 | AppMutex=Eraser-D309F296-B70C-473d-B2DE-2A1F9C7C9FB1,Global\Eraser-D309F296-B70C-473d-B2DE-2A1F9C7C9FB1 |
|---|
| 17 | ArchitecturesInstallIn64BitMode=x64 ia64 |
|---|
| 18 | OutputBaseFilename={#EraserAppVerString}_setup |
|---|
| 19 | DefaultDirName={pf}\Eraser |
|---|
| 20 | DefaultGroupName=Eraser |
|---|
| 21 | DisableStartupPrompt=true |
|---|
| 22 | PrivilegesRequired=admin |
|---|
| 23 | InfoBeforeFile=README.txt |
|---|
| 24 | LicenseFile=COPYING.txt |
|---|
| 25 | WizardImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernImage.bmp |
|---|
| 26 | WizardSmallImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernSmallImage.bmp |
|---|
| 27 | InternalCompressLevel=ultra |
|---|
| 28 | SolidCompression=true |
|---|
| 29 | VersionInfoVersion={#SAFE_VERSION_NUMBER_STRING} |
|---|
| 30 | VersionInfoCompany=The Eraser Project |
|---|
| 31 | VersionInfoDescription=Eraser - Secure Information Removal Tool |
|---|
| 32 | VersionInfoCopyright=The Eraser Project |
|---|
| 33 | TimeStampsInUTC=true |
|---|
| 34 | AppCopyright=© 2007 The Eraser Project |
|---|
| 35 | AppID={{B80CC46C-5839-4A48-B051-3CACF23A2718} |
|---|
| 36 | UninstallDisplayIcon={app}\eraser.exe |
|---|
| 37 | UninstallDisplayName={#EraserAppVerString} |
|---|
| 38 | ShowLanguageDialog=yes |
|---|
| 39 | MinVersion=0,5.0.2195 |
|---|
| 40 | ChangesAssociations=true |
|---|
| 41 | AllowUNCPath=false |
|---|
| 42 | Compression=lzma/ultra |
|---|
| 43 | OutputDir=bin |
|---|
| 44 | |
|---|
| 45 | [_ISTool] |
|---|
| 46 | EnableISX=true |
|---|
| 47 | |
|---|
| 48 | [Files] |
|---|
| 49 | ;Source: bin\Eraser\eraser.url; DestDir: {app}; Flags: overwritereadonly ignoreversion |
|---|
| 50 | Source: Eraser.chm; DestDir: {app}; Flags: overwritereadonly 32bit; Components: arch32Bit |
|---|
| 51 | Source: Eraser.chm; DestDir: {app}; Flags: overwritereadonly 64bit; Components: arch64Bit |
|---|
| 52 | Source: README.txt; DestDir: {app}; Flags: overwritereadonly |
|---|
| 53 | Source: COPYING.txt; DestDir: {app}; Flags: overwritereadonly |
|---|
| 54 | |
|---|
| 55 | Source: bin\win32\release_unicode\Eraser.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 32bit; Components: arch32Bit |
|---|
| 56 | Source: bin\win32\release_unicode\Eraserl.exe; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit |
|---|
| 57 | Source: bin\win32\release_unicode\Eraser.dll; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit archWoW |
|---|
| 58 | Source: bin\win32\release_unicode\Erasext.dll; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit archWoW |
|---|
| 59 | Source: bin\win32\release_unicode\ErsChk.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 32bit; Components: Verify; Check: IsWin32 |
|---|
| 60 | #ifexist "bin\vcredist_x86.exe" |
|---|
| 61 | Source: bin\vcredist_x86.exe; DestDir: {tmp}\vcredist; Flags: deleteafterinstall; Components: arch32Bit archWoW |
|---|
| 62 | #endif |
|---|
| 63 | |
|---|
| 64 | Source: bin\x64\release_unicode\Eraser.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 64bit; Components: arch64Bit |
|---|
| 65 | Source: bin\x64\release_unicode\Eraserl.exe; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit |
|---|
| 66 | Source: bin\x64\release_unicode\Eraser.dll; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit |
|---|
| 67 | Source: bin\x64\release_unicode\Erasext.dll; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit |
|---|
| 68 | Source: bin\x64\release_unicode\ErsChk.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 64bit; Components: Verify; Check: IsWin64 |
|---|
| 69 | #ifexist "bin\vcredist_x64.exe" |
|---|
| 70 | Source: bin\vcredist_x64.exe; DestDir: {tmp}\vcredist; Flags: deleteafterinstall; Components: arch64Bit |
|---|
| 71 | #endif |
|---|
| 72 | |
|---|
| 73 | [Components] |
|---|
| 74 | Name: arch32Bit; Description: Eraser Core Program Files (32-bit); Types: full custom compact; Flags: fixed checkablealone; Check: IsWin32 |
|---|
| 75 | Name: arch32Bit\RecycleBin; Description: Add Eraser to the Recycle Bin Context Menu; Types: full compact |
|---|
| 76 | Name: archWoW; Description: Eraser Core Program Files (32-bit, WoW); Types: full custom compact; Check: IsWin64 |
|---|
| 77 | Name: arch64Bit; Description: Eraser Core Program Files (64-bit); Types: full custom compact; Flags: fixed checkablealone; Check: IsWin64 |
|---|
| 78 | Name: arch64Bit\RecycleBin; Description: Add Eraser to the Recycle Bin Context Menu; Types: full compact |
|---|
| 79 | Name: Verify; Description: Eraser Verifier; Types: full |
|---|
| 80 | |
|---|
| 81 | [Icons] |
|---|
| 82 | Name: {group}\Eraser; Filename: {app}\eraser.exe |
|---|
| 83 | Name: {group}\Eraser Verify; Filename: {app}\ErsChk.exe; Components: Verify |
|---|
| 84 | Name: {group}\Eraser Website; Filename: http://heidi.ie/eraser/ |
|---|
| 85 | |
|---|
| 86 | [Registry] |
|---|
| 87 | Root: HKCR; SubKey: *\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 88 | Root: HKCR; SubKey: .ers; ValueType: string; ValueName: ; ValueData: Eraser.Document; Flags: uninsdeletekey |
|---|
| 89 | Root: HKCR; SubKey: .ers\ShellNew; ValueType: string; ValueName: NullFile; ValueData: ; Flags: uninsdeletekey |
|---|
| 90 | |
|---|
| 91 | Root: HKCR; SubKey: Eraser Scheduler; ValueType: string; ValueName: ; ValueData: Eraser Scheduler File; Flags: uninsdeletekey |
|---|
| 92 | Root: HKCR; SubKey: Eraser Scheduler\Shell\Open\Command; ValueType: string; ValueData: "{app}\eraser.exe \""%1\"""; Flags: uninsdeletekey |
|---|
| 93 | Root: HKCR; SubKey: Eraser Scheduler\DefaultIcon; ValueType: string; ValueData: {app}\eraser.exe,2; Flags: uninsdeletekey |
|---|
| 94 | Root: HKCR; SubKey: Eraser.Document; ValueType: string; ValueName: ; ValueData: Eraser Task Document; Flags: uninsdeletekey |
|---|
| 95 | Root: HKCR; SubKey: Eraser.Document\DefaultIcon; ValueType: string; ValueData: {app}\eraser.exe,1; Flags: uninsdeletekey |
|---|
| 96 | Root: HKCR; SubKey: Eraser.Document\shell\open\command; ValueType: string; ValueData: "{app}\eraser.exe \""%1\"""; Flags: uninsdeletekey |
|---|
| 97 | Root: HKCR; SubKey: Eraser.Document\shell\open\ddeexec; ValueType: string; ValueData: "\\\open(\\""\"""; Flags: uninsdeletekey |
|---|
| 98 | Root: HKCR; SubKey: Eraser.Document\shell\print\command; ValueType: string; ValueData: "{app}\eraser.exe /p \""%1\"""; Flags: uninsdeletekey |
|---|
| 99 | Root: HKCR; SubKey: Eraser.Document\shell\printto\command; ValueType: string; ValueData: "{app}\eraser.exe /pt \""%1\"" \""%2\"" \""%3\"" \""%4\"""; Flags: uninsdeletekey |
|---|
| 100 | Root: HKCR; SubKey: ErasextMenu; ValueType: string; ValueName: ; ValueData: ErasextMenu; Flags: uninsdeletekey |
|---|
| 101 | Root: HKCR; SubKey: ErasextMenu\CLSID; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 102 | |
|---|
| 103 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext1; ValueType: string; ValueData: Erase Recycle Bin (35-Pass &Gutmann); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 104 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext1\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method Gutmann"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 105 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext2; ValueType: string; ValueData: Erase Recycle Bin (7-Pass &Schneier); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 106 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext2\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method Schneier"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 107 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext3; ValueType: string; ValueData: Erase Recycle Bin (7-Pass &DoD); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 108 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext3\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method DoD"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 109 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext4; ValueType: string; ValueData: Erase Recycle Bin (3-Pass DoD &E); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 110 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext4\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method DoD_E"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 111 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext5; ValueType: string; ValueData: Erase Recycle Bin (1-Pass First-last &2k); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 112 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext5\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method First_Last2k"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 113 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext6; ValueType: string; ValueData: Erase Recycle Bin (1-Pass &Pseudorandom Data); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 114 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext6\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method Random 1"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 115 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext7; ValueType: string; ValueData: Erase Recycle Bin (&Library); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 116 | Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext7\command; ValueType: string; ValueData: """{win}\System32\eraserl.exe"" -recycled -method Library"; Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin |
|---|
| 117 | |
|---|
| 118 | Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}; ValueType: string; ValueName: ; ValueData: Eraser Shell Extension; Flags: uninsdeletekey |
|---|
| 119 | Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\InProcServer32; ValueType: string; ValueData: """{win}\System32\erasext.dll"""; Flags: uninsdeletekey |
|---|
| 120 | Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Flags: uninsdeletekey |
|---|
| 121 | Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\ProgID; ValueType: string; ValueName: ; ValueData: ErasextMenu; Flags: uninsdeletekey |
|---|
| 122 | |
|---|
| 123 | Root: HKCR; SubKey: Drive\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 124 | Root: HKCR; SubKey: Drive\shellex\DragDropHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 125 | Root: HKCR; SubKey: Folder\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 126 | Root: HKCR; SubKey: Folder\shellex\DragDropHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 127 | Root: HKCR; SubKey: lnkfile\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey |
|---|
| 128 | Root: HKLM; SubKey: Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{8BE13461-936F-11D1-A87D-444553540000}; ValueData: Eraser Shell Extension; Flags: uninsdeletekey |
|---|
| 129 | |
|---|
| 130 | Root: HKCU; SubKey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Eraser; ValueData: {app}\eraser.exe -hide; Flags: dontcreatekey uninsdeletevalue |
|---|
| 131 | |
|---|
| 132 | [Run] |
|---|
| 133 | Filename: {app}\eraser.exe; WorkingDir: {app}; Flags: postinstall nowait skipifsilent; Description: Run Eraser |
|---|
| 134 | Filename: {tmp}\vcredist\vcredist_x86.exe; StatusMsg: Installing Visual C++ 2008 Runtime... (32-bit); Parameters: "/q:a /c:""""msiexec /i vcredist.msi /qn"""""; Components: arch32Bit archWoW |
|---|
| 135 | Filename: {tmp}\vcredist\vcredist_x64.exe; StatusMsg: Installing Visual C++ 2008 Runtime... (64-bit); Parameters: "/q:a /c:""""msiexec /i vcredist.msi /qn"""""; Components: arch64Bit |
|---|
| 136 | |
|---|
| 137 | [Code] |
|---|
| 138 | function IsWin32: Boolean; |
|---|
| 139 | begin |
|---|
| 140 | Result := not IsWin64; |
|---|
| 141 | end; |
|---|
| 142 | |
|---|
| 143 | procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
|---|
| 144 | var |
|---|
| 145 | DeletedAppData: Boolean; |
|---|
| 146 | DeletedRegKeys: Boolean; |
|---|
| 147 | EraserAppDataPath: String; |
|---|
| 148 | EraserRegistryPath: String; |
|---|
| 149 | begin |
|---|
| 150 | if (CurUninstallStep = usUninstall) then |
|---|
| 151 | begin |
|---|
| 152 | EraserAppDataPath := ExpandConstant('{localappdata}') + '\Eraser'; |
|---|
| 153 | EraserRegistryPath := 'Software\Heidi Computers Ltd'; |
|---|
| 154 | if (MsgBox('Do you want to delete Eraser''s configuration files?' + #13#13 + |
|---|
| 155 | 'Do not do this if you intend to reinstall Eraser.' , mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES) then |
|---|
| 156 | begin |
|---|
| 157 | DeletedAppData := (not FileExists(EraserAppDataPath)) or DelTree(EraserAppDataPath, True, True, True); |
|---|
| 158 | DeletedRegKeys := (not RegKeyExists(HKEY_CURRENT_USER, EraserRegistryPath)) or RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, EraserRegistryPath); |
|---|
| 159 | if not (DeletedAppData and DeletedRegKeys) then |
|---|
| 160 | begin |
|---|
| 161 | MsgBox('Could not delete user configuraion files and entries:' #13#13 + SysErrorMessage(DLLGetLastError), mbError, MB_OK); |
|---|
| 162 | end; |
|---|
| 163 | end; |
|---|
| 164 | end; |
|---|
| 165 | end; |
|---|
| 166 | [_ISToolPreCompile] |
|---|
| 167 | Name: SignBin.bat; Parameters: ; Flags: abortonerror |
|---|
| 168 | [_ISToolPostCompile] |
|---|
| 169 | Name: signtool; Parameters: sign /a /t http://timestamp.verisign.com/scripts/timestamp.dll bin\*.exe |
|---|