source: trunk/eraser5/bin/Eraser.iss @ 1128

Revision 1128, 13.2 KB checked in by lowjoel, 6 years ago (diff)

Use the Unicode binaries

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/
16ArchitecturesInstallIn64BitMode=x64 ia64
17OutputBaseFilename={#EraserAppVerString}_setup
18DefaultDirName={pf}\Eraser
19DefaultGroupName=Eraser
20DisableStartupPrompt=true
21PrivilegesRequired=admin
22InfoBeforeFile=..\README.txt
23LicenseFile=..\COPYING.txt
24WizardImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernImage.bmp
25WizardSmallImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernSmallImage.bmp
26InternalCompressLevel=ultra
27SolidCompression=true
28VersionInfoVersion={#SAFE_VERSION_NUMBER_STRING}
29VersionInfoCompany=The Eraser Project
30VersionInfoDescription=Eraser - Secure Information Removal Tool
31VersionInfoCopyright=The Eraser Project
32TimeStampsInUTC=true
33AppCopyright=© 2007 The Eraser Project
34AppID={{B80CC46C-5839-4A48-B051-3CACF23A2718}
35UninstallDisplayIcon={app}\eraser.exe
36UninstallDisplayName={#EraserAppVerString}
37ShowLanguageDialog=yes
38MinVersion=4.1.1998,4.0.1381
39ChangesAssociations=true
40AllowUNCPath=false
41Compression=lzma/ultra
42OutputDir=./
43
44[_ISTool]
45EnableISX=true
46
47[Files]
48;Source: Eraser\eraser.url; DestDir: {app}; Flags: overwritereadonly ignoreversion
49Source: Eraser.chm; DestDir: {app}; Flags: overwritereadonly 32bit; Components: arch32Bit
50Source: Eraser.chm; DestDir: {app}; Flags: overwritereadonly 64bit; Components: arch64Bit
51Source: ..\README.txt; DestDir: {app}; Flags: overwritereadonly
52Source: ..\COPYING.txt; DestDir: {app}; Flags: overwritereadonly
53
54Source: win32\release_unicode\Eraser.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 32bit; Components: arch32Bit
55Source: win32\release_unicode\Eraserl.exe; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit
56Source: win32\release_unicode\Eraser.dll; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit archWoW
57Source: win32\release_unicode\Erasext.dll; DestDir: {syswow64}; Flags: restartreplace uninsrestartdelete 32bit; Components: arch32Bit archWoW
58Source: win32\release_unicode\ErsChk.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 32bit; Components: Verify; Check: IsWin32
59Source: vcredist_x86.cab; DestName: vc_red.cab; DestDir: {tmp}\vcredist_x86; Flags: deleteafterinstall; Components: arch32Bit archWoW
60Source: vcredist_x86.msi; DestName: vc_red.msi; DestDir: {tmp}\vcredist_x86; Flags: deleteafterinstall; Components: arch32Bit archWoW
61
62Source: x64\release_unicode\Eraser.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 64bit; Components: arch64Bit
63Source: x64\release_unicode\Eraserl.exe; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit
64Source: x64\release_unicode\Eraser.dll; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit
65Source: x64\release_unicode\Erasext.dll; DestDir: {sys}; Flags: restartreplace uninsrestartdelete 64bit; Components: arch64Bit
66Source: x64\release_unicode\ErsChk.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete 64bit; Components: Verify; Check: IsWin64
67Source: vcredist_x64.cab; DestName: vc_red.cab; DestDir: {tmp}\vcredist_x64; Flags: deleteafterinstall; Components: arch64Bit
68Source: vcredist_x64.msi; DestName: vc_red.msi; DestDir: {tmp}\vcredist_x64; Flags: deleteafterinstall; Components: arch64Bit
69
70[Components]
71Name: arch32Bit; Description: Eraser Core Program Files (32-bit); Types: full custom compact; Flags: fixed checkablealone; Check: IsWin32
72Name: arch32Bit\RecycleBin; Description: Add Eraser to the Recycle Bin Context Menu; Types: full compact
73Name: archWoW; Description: Eraser Core Program Files (32-bit, WoW); Types: full custom compact; Check: IsWin64
74Name: arch64Bit; Description: Eraser Core Program Files (64-bit); Types: full custom compact; Flags: fixed checkablealone; Check: IsWin64
75Name: arch64Bit\RecycleBin; Description: Add Eraser to the Recycle Bin Context Menu; Types: full compact
76Name: Verify; Description: Eraser Verifier; Types: full
77
78[Icons]
79Name: {group}\Eraser; Filename: {app}\eraser.exe
80Name: {group}\Eraser Verify; Filename: {app}\ErsChk.exe; Components: Verify
81Name: {group}\Eraser Website; Filename: http://heidi.ie/eraser/
82
83[Registry]
84Root: HKCR; SubKey: *\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
85Root: HKCR; SubKey: .ers; ValueType: string; ValueName: ; ValueData: Eraser.Document; Flags: uninsdeletekey
86Root: HKCR; SubKey: .ers\ShellNew; ValueType: string; ValueName: NullFile; ValueData: ; Flags: uninsdeletekey
87
88Root: HKCR; SubKey: Eraser Scheduler; ValueType: string; ValueName: ; ValueData: Eraser Scheduler File; Flags: uninsdeletekey
89Root: HKCR; SubKey: Eraser Scheduler\Shell\Open\Command; ValueType: string; ValueData: "{app}\eraser.exe  \""%1\"""; Flags: uninsdeletekey
90Root: HKCR; SubKey: Eraser Scheduler\DefaultIcon; ValueType: string; ValueData: {app}\eraser.exe,2; Flags: uninsdeletekey
91Root: HKCR; SubKey: Eraser.Document; ValueType: string; ValueName: ; ValueData: Eraser Task Document; Flags: uninsdeletekey
92Root: HKCR; SubKey: Eraser.Document\DefaultIcon; ValueType: string; ValueData: {app}\eraser.exe,1; Flags: uninsdeletekey
93Root: HKCR; SubKey: Eraser.Document\shell\open\command; ValueType: string; ValueData: "{app}\eraser.exe \""%1\"""; Flags: uninsdeletekey
94Root: HKCR; SubKey: Eraser.Document\shell\open\ddeexec; ValueType: string; ValueData: "\\\open(\\""\"""; Flags: uninsdeletekey
95Root: HKCR; SubKey: Eraser.Document\shell\print\command; ValueType: string; ValueData: "{app}\eraser.exe /p \""%1\"""; Flags: uninsdeletekey
96Root: HKCR; SubKey: Eraser.Document\shell\printto\command; ValueType: string; ValueData: "{app}\eraser.exe /pt \""%1\"" \""%2\"" \""%3\"" \""%4\"""; Flags: uninsdeletekey
97Root: HKCR; SubKey: ErasextMenu; ValueType: string; ValueName: ; ValueData: ErasextMenu; Flags: uninsdeletekey
98Root: HKCR; SubKey: ErasextMenu\CLSID; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
99
100Root: 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
101Root: 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
102Root: 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
103Root: 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
104Root: 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
105Root: 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
106Root: 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
107Root: 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
108Root: 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
109Root: 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
110Root: 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
111Root: 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
112Root: HKCR; SubKey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Erasext7; ValueType: string; ValueData: Erase Recycle Bin (&Library); Flags: uninsdeletekey; Components: arch32bit\RecycleBin arch64bit\RecycleBin
113Root: 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
114
115Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}; ValueType: string; ValueName: ; ValueData: Eraser Shell Extension; Flags: uninsdeletekey
116Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\InProcServer32; ValueType: string; ValueData: """{win}\System32\erasext.dll"""; Flags: uninsdeletekey
117Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\InProcServer32; ValueType: string; ValueName: ThreadingModel; ValueData: Apartment; Flags: uninsdeletekey
118Root: HKCR; SubKey: CLSID\{{8BE13461-936F-11D1-A87D-444553540000}\ProgID; ValueType: string; ValueName: ; ValueData: ErasextMenu; Flags: uninsdeletekey
119
120Root: HKCR; SubKey: Drive\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
121Root: HKCR; SubKey: Drive\shellex\DragDropHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
122Root: HKCR; SubKey: Folder\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
123Root: HKCR; SubKey: Folder\shellex\DragDropHandlers\Erasext; ValueType: string; ValueName: ; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
124Root: HKCR; SubKey: lnkfile\shellex\ContextMenuHandlers\Erasext; ValueType: string; ValueData: {{8BE13461-936F-11D1-A87D-444553540000}; Flags: uninsdeletekey
125Root: HKLM; SubKey: Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved; ValueType: string; ValueName: {{8BE13461-936F-11D1-A87D-444553540000}; ValueData: Eraser Shell Extension; Flags: uninsdeletekey
126
127Root: HKCU; SubKey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: Eraser; ValueData: {app}\eraser.exe -hide; Flags: dontcreatekey uninsdeletevalue
128
129[Run]
130Filename: {app}\eraser.exe; WorkingDir: {app}; Flags: postinstall nowait skipifsilent; Description: Run Eraser
131Filename: msiexec; StatusMsg: Installing Visual C++ 2008 Runtime... (32-bit); Parameters: "/i ""{tmp}\vcredist_x86\vc_red.msi"""; Components: arch32Bit archWoW
132Filename: msiexec; StatusMsg: Installing Visual C++ 2008 Runtime... (64-bit); Parameters: "/i ""{tmp}\vcredist_x64\vc_red.msi"""; Components: arch64Bit
133
134[Code]
135function IsWin32: Boolean;
136begin
137    Result := not IsWin64;
138end;
139
140procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
141var
142    DeletedAppData: Boolean;
143    DeletedRegKeys: Boolean;
144    EraserAppDataPath: String;
145    EraserRegistryPath: String;
146begin
147    if (CurUninstallStep = usUninstall) then
148    begin
149        EraserAppDataPath := ExpandConstant('{localappdata}') + '\Eraser';
150        EraserRegistryPath := 'Software\Heidi Computers Ltd';
151        if (MsgBox('Do you want to delete Eraser''s configuration files?' + #13#13 +
152            'Do not do this if you intend to reinstall Eraser.' , mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES) then
153        begin
154            DeletedAppData := (not FileExists(EraserAppDataPath)) or DelTree(EraserAppDataPath, True, True, True);
155            DeletedRegKeys := (not RegKeyExists(HKEY_CURRENT_USER, EraserRegistryPath)) or RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, EraserRegistryPath);
156            if not (DeletedAppData and DeletedRegKeys) then
157            begin
158                MsgBox('Could not delete user configuraion files and entries:' #13#13 + SysErrorMessage(DLLGetLastError), mbError, MB_OK);
159            end;
160        end;
161    end;
162end;
Note: See TracBrowser for help on using the repository browser.