source: trunk/eraser5/Eraser.iss @ 1280

Revision 1280, 13.4 KB checked in by lowjoel, 5 years ago (diff)

Use the stock VC redistributables and use the silent install switches.

Line 
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]
9AppName=Eraser
10AppVerName={#EraserAppVerString}
11AppVersion={#EraserAppVerString}
12AppPublisher=The Eraser Project
13AppPublisherURL=http://eraser.sourceforge.net/
14AppSupportURL=http://sourceforge.net/projects/eraser/
15AppUpdatesURL=http://sourceforge.net/projects/eraser/
16AppMutex=Eraser-D309F296-B70C-473d-B2DE-2A1F9C7C9FB1,Global\Eraser-D309F296-B70C-473d-B2DE-2A1F9C7C9FB1
17ArchitecturesInstallIn64BitMode=x64 ia64
18OutputBaseFilename={#EraserAppVerString}_setup
19DefaultDirName={pf}\Eraser
20DefaultGroupName=Eraser
21DisableStartupPrompt=true
22PrivilegesRequired=admin
23InfoBeforeFile=README.txt
24LicenseFile=COPYING.txt
25WizardImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernImage.bmp
26WizardSmallImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernSmallImage.bmp
27InternalCompressLevel=ultra
28SolidCompression=true
29VersionInfoVersion={#SAFE_VERSION_NUMBER_STRING}
30VersionInfoCompany=The Eraser Project
31VersionInfoDescription=Eraser - Secure Information Removal Tool
32VersionInfoCopyright=The Eraser Project
33TimeStampsInUTC=true
34AppCopyright=© 2007 The Eraser Project
35AppID={{B80CC46C-5839-4A48-B051-3CACF23A2718}
36UninstallDisplayIcon={app}\eraser.exe
37UninstallDisplayName={#EraserAppVerString}
38ShowLanguageDialog=yes
39MinVersion=0,5.0.2195
40ChangesAssociations=true
41AllowUNCPath=false
42Compression=lzma/ultra
43OutputDir=bin
44
45[_ISTool]
46EnableISX=true
47
48[Files]
49;Source: bin\Eraser\eraser.url; DestDir: {app}; Flags: overwritereadonly ignoreversion
50Source: Eraser.chm; DestDir: {app}; Flags: overwritereadonly 32bit; Components: arch32Bit
51Source: Eraser.chm; DestDir: {app}; Flags: overwritereadonly 64bit; Components: arch64Bit
52Source: README.txt; DestDir: {app}; Flags: overwritereadonly
53Source: COPYING.txt; DestDir: {app}; Flags: overwritereadonly
54
55Source: bin\win32\release_unicode\Eraser.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 32bit; Components: arch32Bit
56Source: bin\win32\release_unicode\Eraserl.exe; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit
57Source: bin\win32\release_unicode\Eraser.dll; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit archWoW
58Source: bin\win32\release_unicode\Erasext.dll; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit archWoW
59Source: bin\win32\release_unicode\ErsChk.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 32bit; Components: Verify; Check: IsWin32
60#ifexist "bin\vcredist_x86.exe"
61Source: bin\vcredist_x86.exe; DestDir: {tmp}\vcredist; Flags: deleteafterinstall; Components: arch32Bit archWoW
62#endif
63
64Source: bin\x64\release_unicode\Eraser.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 64bit; Components: arch64Bit
65Source: bin\x64\release_unicode\Eraserl.exe; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit
66Source: bin\x64\release_unicode\Eraser.dll; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit
67Source: bin\x64\release_unicode\Erasext.dll; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit
68Source: bin\x64\release_unicode\ErsChk.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 64bit; Components: Verify; Check: IsWin64
69#ifexist "bin\vcredist_x64.exe"
70Source: bin\vcredist_x64.exe; DestDir: {tmp}\vcredist; Flags: deleteafterinstall; Components: arch64Bit
71#endif
72
73[Components]
74Name: arch32Bit; Description: Eraser Core Program Files (32-bit); Types: full custom compact; Flags: fixed checkablealone; Check: IsWin32
75Name: arch32Bit\RecycleBin; Description: Add Eraser to the Recycle Bin Context Menu; Types: full compact
76Name: archWoW; Description: Eraser Core Program Files (32-bit, WoW); Types: full custom compact; Check: IsWin64
77Name: arch64Bit; Description: Eraser Core Program Files (64-bit); Types: full custom compact; Flags: fixed checkablealone; Check: IsWin64
78Name: arch64Bit\RecycleBin; Description: Add Eraser to the Recycle Bin Context Menu; Types: full compact
79Name: Verify; Description: Eraser Verifier; Types: full
80
81[Icons]
82Name: {group}\Eraser; Filename: {app}\eraser.exe
83Name: {group}\Eraser Verify; Filename: {app}\ErsChk.exe; Components: Verify
84Name: {group}\Eraser Website; Filename: http://heidi.ie/eraser/
85
86[Registry]
87Root: HKCR; SubKey: *\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
88Root: HKCR; SubKey: .ers; ValueType: string; ValueName: ; ValueData: Eraser.Document; Flags: uninsdeletekey
89Root: HKCR; SubKey: .ers\ShellNew; ValueType: string; ValueName: NullFile; ValueData: ; Flags: uninsdeletekey
90
91Root: HKCR; SubKey: Eraser Scheduler; ValueType: string; ValueName: ; ValueData: Eraser Scheduler File; Flags: uninsdeletekey
92Root: HKCR; SubKey: Eraser Scheduler\Shell\Open\Command; ValueType: string; ValueData: "{app}\eraser.exe  \""%1\"""; Flags: uninsdeletekey
93Root: HKCR; SubKey: Eraser Scheduler\DefaultIcon; ValueType: string; ValueData: {app}\eraser.exe,2; Flags: uninsdeletekey
94Root: HKCR; SubKey: Eraser.Document; ValueType: string; ValueName: ; ValueData: Eraser Task Document; Flags: uninsdeletekey
95Root: HKCR; SubKey: Eraser.Document\DefaultIcon; ValueType: string; ValueData: {app}\eraser.exe,1; Flags: uninsdeletekey
96Root: HKCR; SubKey: Eraser.Document\shell\open\command; ValueType: string; ValueData: "{app}\eraser.exe \""%1\"""; Flags: uninsdeletekey
97Root: HKCR; SubKey: Eraser.Document\shell\open\ddeexec; ValueType: string; ValueData: "\\\open(\\""\"""; Flags: uninsdeletekey
98Root: HKCR; SubKey: Eraser.Document\shell\print\command; ValueType: string; ValueData: "{app}\eraser.exe /p \""%1\"""; Flags: uninsdeletekey
99Root: HKCR; SubKey: Eraser.Document\shell\printto\command; ValueType: string; ValueData: "{app}\eraser.exe /pt \""%1\"" \""%2\"" \""%3\"" \""%4\"""; Flags: uninsdeletekey
100Root: HKCR; SubKey: ErasextMenu; ValueType: string; ValueName: ; ValueData: ErasextMenu; Flags: uninsdeletekey
101Root: HKCR; SubKey: ErasextMenu\CLSID; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
102
103Root: 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
104Root: 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
105Root: 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
106Root: 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
107Root: 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
108Root: 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
109Root: 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
110Root: 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
111Root: 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
112Root: 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
113Root: 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
114Root: 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
115Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext7; ValueType: string; ValueData: Erase Recycle Bin (&Library); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin
116Root: 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
118Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}; ValueType: string; ValueName: ; ValueData: Eraser Shell Extension; Flags: uninsdeletekey
119Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\InProcServer32; ValueType: string; ValueData: """{win}\System32\erasext.dll"""; Flags: uninsdeletekey
120Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Flags: uninsdeletekey
121Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\ProgID; ValueType: string; ValueName: ; ValueData: ErasextMenu; Flags: uninsdeletekey
122
123Root: HKCR; SubKey: Drive\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
124Root: HKCR; SubKey: Drive\shellex\DragDropHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
125Root: HKCR; SubKey: Folder\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
126Root: HKCR; SubKey: Folder\shellex\DragDropHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
127Root: HKCR; SubKey: lnkfile\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
128Root: HKLM; SubKey: Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{8BE13461-936F-11D1-A87D-444553540000}; ValueData: Eraser Shell Extension; Flags: uninsdeletekey
129
130Root: HKCU; SubKey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Eraser; ValueData: {app}\eraser.exe -hide; Flags: dontcreatekey uninsdeletevalue
131
132[Run]
133Filename: {app}\eraser.exe; WorkingDir: {app}; Flags: postinstall nowait skipifsilent; Description: Run Eraser
134Filename: {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
135Filename: {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]
138function IsWin32: Boolean;
139begin
140    Result := not IsWin64;
141end;
142
143procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
144var
145    DeletedAppData: Boolean;
146    DeletedRegKeys: Boolean;
147    EraserAppDataPath: String;
148    EraserRegistryPath: String;
149begin
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;
165end;
166[_ISToolPreCompile]
167Name: SignBin.bat; Parameters: ; Flags: abortonerror
168[_ISToolPostCompile]
169Name: signtool; Parameters: sign /a /t http://timestamp.verisign.com/scripts/timestamp.dll bin\*.exe
Note: See TracBrowser for help on using the repository browser.