Timeline


and

1/4/2009:

20:01 Ticket #154 (Crashing when using plausible deniability.) created by Overwriter
XP Pro SP3 NET 3.5 After selecting a file (.pdf) for the plausible …
19:40 Ticket #153 (Grammatical error.) created by Overwriter
Sorry to sound like a pedantic school teacher (but we want Eraser to be …
19:29 Ticket #152 ("About" links to the old V5 webpage.) created by Overwriter
The link on the “About” page on Eraser V6 links to the old V5 webpage. …
19:23 Ticket #151 (Clear all completed tasks.) created by Overwriter
Can we have a right click or a button that enables users to clear all the …
19:18 Ticket #150 (Notification pop-ups timing.) created by Overwriter
Would it be possible to reduce the amount of time Eraser keeps the …
19:12 Ticket #149 (Eraser secure move crash.) created by Overwriter
XP Pro SP3 Net 3.5 When I right click on a file and select secure move …
19:11 Ticket #148 (Eraser secure move crash.) created by Overwriter
XP Pro SP3 Net 3.5 When I right click on a file and select secure move …
16:58 Ticket #147 (Ballast File Creation.) created by Overwriter
I think it would be a great feature for Eraser V6 to enable the user to …
07:59 Ticket #142 (Don’t have a history !) closed by Joel
invalid: You have to. Otherwise error messages will never be shown. Having it …
07:55 Ticket #137 (No V6 Beta 3 in drop down option on Trac tickets.) closed by Joel
fixed: My bad. Fixed.
07:53 Ticket #146 (Vista 64 and installing .net 3.5) closed by Joel
duplicate
07:53 Ticket #145 (Vista 64 and installing .net 3.5) closed by Joel
duplicate: Watch the forum, I've posted my response there.
07:52 Ticket #138 (File added to schedule no progress bar on right click) closed by Joel
invalid: It's by design. I took the bold leap of redesigning the user workflow. …
03:25 Ticket #146 (Vista 64 and installing .net 3.5) created by Blewby
Hi, using Vista 64bit, and when I install Eraser 6(rc3) (run as …
03:23 Ticket #145 (Vista 64 and installing .net 3.5) created by Blewby
Hi, using Vista 64bit, and when I install Eraser 6(rc3) (run as …
02:34 Ticket #144 (Floppy disk access when erasing recycle bin.) created by Overwriter
XP Pro SP3 .net 3.5 Eraser V6 Beta 3 When I right click on the …
02:30 Ticket #143 (ISSAC or ISSAC+) created by Overwriter
ISSAC or ISSAC+ I just wondered which version of ISSAC was installed in …
02:25 Ticket #142 (Don’t have a history !) created by Overwriter
Eraser V6 Beta 3 As V6 is a security and privacy tool, I don’t think it …
02:22 Ticket #141 (Better method description.) created by Overwriter
Eraser V6 Beta 3 When a user drops down the erase methods it would be …
02:19 Ticket #140 (Right click for new schedule) created by Overwriter
Eraser V6 Beta 3 Could the schedule window allow a user to right click …
02:17 Ticket #139 (Right clicking recycle bin two errors.) created by Overwriter
XP Pro SP3 .net 3.5 Eraser V6 Beta 3 I right clicked the recycle bin …
02:11 Ticket #138 (File added to schedule no progress bar on right click) created by Overwriter
XP Pro SP3 .net 3.5 Eraser V6 Beta 3 When I right click a file and …
02:06 Ticket #137 (No V6 Beta 3 in drop down option on Trac tickets.) created by Overwriter
No V6 Beta 3 in drop down option on Trac tickets.
02:04 Ticket #136 (About Eraser screen flash) created by Overwriter
XP Pro SP3 .net 3.5 V6 Beta 3 If the Eraser window is maximised then …

1/3/2009:

06:37 Ticket #135 (Eraser not deleting very long (and weird) filenames (from Sandoxie)) closed by Joel
wontfix: It's to be expected. Long filenames like these can't be deleted with …
05:17 Ticket #135 (Eraser not deleting very long (and weird) filenames (from Sandoxie)) created by Ozo
When using Eraser (v5.86 on Vista 32-bit) to delete files in my Sanboxie …
00:43 Changeset [849] by lowjoel
  • branches/website/Templates/Eraser.dwt
  • branches/website/announcements/20081201.html
  • branches/website/announcements/20081213.html
  • branches/website/announcements/20090103.html
  • branches/website/contributing.html
  • branches/website/index.php
  • branches/website/reviews.html
  • branches/website/style.css

-Released 5.8.7 beta4 and 6 rc3

00:42 Changeset [848] by lowjoel
  • branches/website/download.php
  • branches/website/updates/index.php

-Implemented supersedance for updates
-Implemented the content-length header for browsers to know how much to download
-

1/2/2009:

13:49 Changeset [847] by lowjoel
  • branches/eraser6/ShellExt/ShellExt_i.c
  • branches/eraser6/ShellExt/ShellExt_i.h
  • branches/eraser6/Version.cs
  • branches/eraser6/Version.rc
  • branches/eraser6/Version.wxs

rc3 released.

13:19 Changeset [846] by lowjoel
  • branches/eraser6/Util/WintrustAPI.cs

Fixed WintrustAPI for x86.

10:46 Changeset [845] by lowjoel
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Util/WintrustAPI.cs

Implemented Authenticode verification using Authenticode APIs instead of the X509Certificate2 class which never verified our certs.

10:42 Changeset [844] by lowjoel
  • branches/eraser6/Eraser/Resources/BackgroundLogo.png

rc3 artwork.

08:26 Changeset [843] by lowjoel
  • trunk/README.txt
  • trunk/bin/Eraser.iss
  • trunk/version.h

I'm releasing beta 4.

07:43 Changeset [842] by lowjoel
  • trunk/bin/Eraser.iss

The vcredist binaries are 08 runtimes now.

07:40 Ticket #87 (Eraser starting up on reboot) closed by Joel
fixed: Fixed in r841.
07:40 Changeset [841] by lowjoel
  • trunk/Item.cpp
  • trunk/Item.h
  • trunk/SchedulerView.cpp

-Implemented unique IDs for scheduled tasks.
-Store scheduled tasks under HKCU for better standard user support

Fixes #87.

07:19 Ticket #125 (Eraser needs yes or no to all box) closed by Joel
fixed: Implemented in r840.
07:19 Changeset [840] by lowjoel
  • trunk/EraserDll/FileLockResolver.cpp
  • trunk/EraserDll/FileLockResolver.h

Implemented a "remember this decision for the rest of the erase" option for the file lock resolver. Fixes #125.

06:47 Ticket #133 (eliminate inputting of non numerical char in log file size box) closed by Joel
fixed: Fixed in r839.
06:47 Changeset [839] by lowjoel
  • trunk/PreferencesPage.cpp

Validate the scheduler log maximum size input from the user. Fixes #133.

06:46 Changeset [838] by lowjoel
  • trunk/EraserUI/FileTreeCtrl.cpp

Warning fix.

06:46 Changeset [837] by lowjoel
  • trunk/EraserDll/NTFS.h

Fixed declaration for x64

06:10 Ticket #131 (set shortcut keys popup error message) closed by Joel
fixed: I think this is fixed alongside #130.
06:09 Ticket #129 (Passwords can be blank) closed by Joel
fixed: Fixed in r836.
06:09 Changeset [836] by lowjoel
  • trunk/Eraser.rc
  • trunk/EraserDll/Eraser.rc
  • trunk/EraserDll/EraserDll.vcproj
  • trunk/EraserDll/SecManDlg.cpp
  • trunk/EraserDll/SecurityManager.cpp
  • trunk/EraserDll/resource.h
  • trunk/PreferencesPage.cpp

-Removed unused Croatian resources
-Check that the password for protection isn't blank before setting it
-Rewrote the code structure to make a little more logical sense

05:40 Ticket #132 (eraser can not erase files in .ink folders going through on demand ...) closed by Joel
fixed: That's because the .lnk is a file, not a folder. LNK files may point …
05:35 Ticket #130 (shortcut keys show wrong value when changing) closed by Joel
fixed: Fixed in r835.
05:35 Changeset [835] by lowjoel
  • trunk/KeyComboDlg.cpp

Fixed the Hotkey selection dialog. The old code did not allow a trailing NULL to be returned, preventing the GetLine? call from succeeding. I've now added space for it and added error handling code.

Fixes #130.

04:34 Ticket #127 (Can not erase recycle bin using on demand task) closed by Joel
duplicate: I can't reproduce this bug. I think the fix for #126 fixed this.
04:31 Ticket #126 (Eraser error 'nothing to erase') closed by Joel
fixed: Fixed in r834.
04:30 Changeset [834] by lowjoel
  • trunk/EraserDll/Eraser.cpp

Don't complain that there are no files to erase. Fixes #126.

04:28 Ticket #124 (Eraser access denied deleting folder) closed by Joel
fixed: I've replaced the custom dialog with the native Windows file and directory …
04:28 Changeset [833] by lowjoel
  • trunk/TaskDataPage.cpp

Replace the custom dialog with the Windows common dialogs to prevent the selection of files in directory selections and vice versa. Fixes #124.

04:25 Changeset [832] by lowjoel
  • trunk/EraserDll/Eraser.cpp

Read the braces wrongly, endThread must always be called.

04:03 Ticket #128 (Eraser does not shut down after erasing) closed by Joel
fixed: Fixed in r831.
04:03 Changeset [831] by lowjoel
  • trunk/EraserDlg.h
  • trunk/EraserDll/Eraser.cpp
  • trunk/EraserDll/EraserDllInternal.h
  • trunk/EraserView.cpp
  • trunk/Item.h
  • trunk/TaskDataPage.cpp
  • trunk/TaskDataPage.h

Execute the post-task operation before exit. Fixes #128.

00:05 Changeset [830] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Forgot to reset the system standby status.

1/1/2009:

18:25 Ticket #134 (Vista 64 Eraser v5.87 no context menu) created by chris12923
Shouldnt I be able to right click a file and have a context menu that …

12/31/2008:

13:51 Ticket #133 (eliminate inputting of non numerical char in log file size box) created by chris12923
in prefs for schedular non numerical char's should not be allowed for …
13:43 Ticket #132 (eraser can not erase files in .ink folders going through on demand ...) created by chris12923
create new task and choose files in folder button highlight a folder like …
13:34 Ticket #131 (set shortcut keys popup error message) created by chris12923
goto set shortcut keys box in the textbox move cursor to right of the …
13:27 Ticket #130 (shortcut keys show wrong value when changing) created by chris12923
general prefs click the shotcuts button highlight the 'erase' shortcut …
13:21 Ticket #129 (Passwords can be blank) created by chris12923
you can set a blank password and eraser will ask you for a password even …
13:16 Ticket #128 (Eraser does not shut down after erasing) created by chris12923
create new task and tell eraser to restart pc when finished task …
13:01 Ticket #127 (Can not erase recycle bin using on demand task) created by chris12923
new task files in folder choose $Recycle.bin click ok run task …
12:55 Ticket #126 (Eraser error 'nothing to erase') created by chris12923
Create empty folder New task Click files in folder button choose the …
10:07 Ticket #123 (Front page of the new Eraser website) closed by Joel
wontfix: 1 is correct, it's meant to be a subpoint. 2 is by design. I coded the …

12/30/2008:

23:34 Ticket #125 (Eraser needs yes or no to all box) created by chris12923
When deleting many folders many may be locked and eraser will prompt you …
23:21 Ticket #124 (Eraser access denied deleting folder) created by chris12923
Create new task Choose file radio button select a folder (not a file) …
14:07 Ticket #35 (Eraser leaving info after install) reopened by Overwriter
Was this ever resolved ?
14:04 Ticket #30 (Encrypted page file) reopened by Overwriter
Another Zombie ticket brought back from the dead ! Ha ha ! So Joel was …
14:02 Ticket #61 (Html files and folders association.) reopened by Overwriter
13:22 Ticket #123 (Front page of the new Eraser website) created by Overwriter
Minor adjustments to front page of the new Eraser website. 1 = Line …
04:53 Ticket #122 (Themed Eraser / Forum / Website Aesthetics.) created by Overwriter
Totally trivial request. As Eraser V6 is red, black and silver and the …
01:02 Ticket #10 (thumbs.db) closed by Joel
worksforme: I can't reproduce this issue even after a long while. Could you try the …

12/29/2008:

13:42 Ticket #117 (Eraser Verify freezes after looking at network) closed by Joel
fixed: Fixed in r829.
13:42 Changeset [829] by lowjoel
  • trunk/Eraser.vcproj
  • trunk/EraserDll/StdAfx.h
  • trunk/EraserUI/FileTreeCtrl.cpp
  • trunk/EraserUI/stdafx.h
  • trunk/Erasext/StdAfx.h
  • trunk/Launcher/StdAfx.h
  • trunk/StdAfx.h
  • trunk/Verify/StdAfx.h
  • trunk/shared/stdafx.h

Fixed #117
-Standardise all versions of the Windows API used to prevent code conflicts
-Don't draw the custom icon if we can't get the rectangle for the item (it may be invalid)

13:09 Ticket #120 (Confirm task deletion) closed by Joel
fixed: Implemented in r828.
13:09 Changeset [828] by lowjoel
  • trunk/EraserView.cpp
  • trunk/SchedulerView.cpp

Confirm task deletions. Implements #120.

12:56 Ticket #121 ('View log' should be under view dropdown menu) closed by Joel
worksforme: I think File is more appropriate. View refers to the 'view' of the current …
12:54 Ticket #119 (Eraser error when deleting from explorer tab) closed by Joel
fixed: Oh right, I misread your problem description. I've fixed it in r827.
12:54 Changeset [827] by lowjoel
  • trunk/EraserUI/ShellPidl.cpp

Don't think it's judgement day if the user cancelled the delete dialog. He only cancelled it.

12:09 Ticket #98 (settings popup after install Vista 32) closed by Joel
duplicate: Duplicate. See #99
12:08 Ticket #103 (Erase Settings are blank) closed by Joel
duplicate: Duplicate of #99
10:41 Ticket #106 (Recurring month does not change) closed by Joel
fixed: Fixed in r826. The x month frequency will only happen when the task was …
10:40 Ticket #105 (Recurring monthly task wrong dates) closed by Joel
fixed: Fixed in r826.
10:40 Changeset [826] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

Fixed monthly schedules. Fixes #105, #106.

10:40 Ticket #102 (Trac "my tickets" does not work.) closed by chris12923
wontfix: Replying to Joel: Ok.Thanks.
10:36 Ticket #121 ('View log' should be under view dropdown menu) created by chris12923
Just a suggestion is to put 'view log' under the view menu instead of the …
10:14 Ticket #97 ("Eraser has stopped working" popup on Vista 64) closed by Joel
fixed: Fixed in r825
10:14 Changeset [825] by lowjoel
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Util/KernelAPI.cs

Fixed a problem with the 64-bit marshaller (rather, don't depend on a compatibility shim with the 32-bit marshaller, whichever way you see it) where IntPtr?'s and strings are different (holdover from LPWSTR in Windows). Fixes #97

09:31 Ticket #120 (Confirm task deletion) created by chris12923
This just happened to me on my laptop so I thought Id suggest it. I'd …
09:28 Ticket #107 (Make install button greyed out in update window) closed by Joel
fixed: Fixed in r824.
09:28 Changeset [824] by lowjoel
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

Enable the Install button only if updates are present for installation. Fixes #107.

09:24 Ticket #104 (Spelling error plugin popup box) closed by Joel
duplicate: Duplicate of #100
09:23 Ticket #101 (plugin popup window spelling error) closed by Joel
duplicate
09:20 Ticket #100 (plugin popup window spelling error) closed by Joel
fixed: Fixed in r823.
09:20 Changeset [823] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Fixed a typo as reported in #100.

09:19 Changeset [822] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj

Sign the default plugin even for debug builds since it won't be loaded by default otherwise.

09:07 Ticket #40 (Form a documentation team) closed by Joel
fixed: Overwriter's in charge now. We just need to get it started…
09:04 Ticket #118 (Verify has problems erasing files with long filenames) closed by Joel
worksforme: The Vista shell maximum length is actually 260 chars (as with all Windows …
09:00 Ticket #108 (Add option to select OS in Trac system) closed by Joel
wontfix: Hmm, I can't find any Trac modification that allows this. My admin console …
08:53 Ticket #114 (Eraser website missing top bar.) closed by Joel
fixed: Duplicate of #113, which I fixed in r821.
08:53 Ticket #113 (Eraser Webpage missing top bar.) closed by Joel
duplicate
08:51 Ticket #111 (Spelling) closed by Joel
fixed: Bleah, my spelling's gone down the drain. Haha! Fixed in r821.
08:50 Changeset [821] by lowjoel
  • branches/website/Templates/Eraser.dwt
  • branches/website/announcements/20081201.html
  • branches/website/announcements/20081213.html
  • branches/website/contributing.html
  • branches/website/images/header.jpg
  • branches/website/index.php
  • branches/website/reviews.html

banner.jpg is blocked by Privoxy, use header instead.

06:54 Ticket #119 (Eraser error when deleting from explorer tab) created by chris12923
Open Eraser Click Explore bar Now choose a folder Right click and …
04:04 Ticket #118 (Verify has problems erasing files with long filenames) created by chris12923
Create a .txt file with vista maximum filename length Inside the .txt …
01:59 Ticket #117 (Eraser Verify freezes after looking at network) created by chris12923
open verify click browse to look for file double click network now go …
00:35 Ticket #116 (Bring back automatically closed tickets.) created by Overwriter
I have noticed that the Trac automatically closes tickets after only 2 …

12/28/2008:

15:46 Ticket #115 (Editing Trac Tickets.) created by Overwriter
Users reporting bugs and creating Trac tickets cannot edit or delete their …
15:04 Ticket #114 (Eraser website missing top bar.) created by Overwriter
The new Eraser website looks like the attachment to me when using …
15:04 Ticket #113 (Eraser Webpage missing top bar.) created by Overwriter
The new Eraser website looks like the attachment to me when using …
14:56 Ticket #112 (Slow authentication e-mail) created by Overwriter
A forum member has report to me that it took several hours for the server …
14:52 Ticket #111 (Spelling) created by Overwriter
On this page: http://eraser.heidi.ie/announcements/20081213.html
14:19 Ticket #110 (Spelling on web page) created by Overwriter
On this page: http://www.heidi.ie/node/6 The link, Guttmann should …
05:49 Ticket #109 (Weekly schedule not working properly) created by chris12923
I havent figured it out but most of the time when I schedule a weekly …
05:34 Ticket #108 (Add option to select OS in Trac system) created by chris12923
Is it possible since I am running multiple systems as are other users to …
05:31 Ticket #107 (Make install button greyed out in update window) created by chris12923
Please make the install button grayeded out in the update window unless a …
05:26 Ticket #106 (Recurring month does not change) created by chris12923
Recurring month does not change Choose to set recurring task Choose …
05:22 Ticket #105 (Recurring monthly task wrong dates) created by chris12923
Recurring monthly task wrong dates Choose to set recurring task Choose …
05:10 Ticket #104 (Spelling error plugin popup box) created by chris12923
Please see attached screenie
05:09 Ticket #103 (Erase Settings are blank) created by chris12923
During first run the erase settings are blank Please see attached screen …

12/27/2008:

21:42 Ticket #102 (Trac "my tickets" does not work.) created by chris12923
In trac if I click "my tickets" button it will tell me no matches found. …
18:43 Ticket #101 (plugin popup window spelling error) created by chris12923
Plugin popup window on first run after install has spelling error which I …
18:42 Ticket #100 (plugin popup window spelling error) created by chris12923
Plugin popup window on first run after install has spelling error which I …
18:39 Ticket #99 (Plugins popup window Vista 32) created by chris12923
Plugins popup window Vista 32 After install and choosing to run after …
18:23 Ticket #98 (settings popup after install Vista 32) created by chris12923
settings popup after install Vista 32 Installed Eraser Chose Run Eraser …

12/26/2008:

22:23 Ticket #97 ("Eraser has stopped working" popup on Vista 64) created by chris12923
Installed fine Installed .net fine Checked the run Eraser checkbox …

12/23/2008:

20:09 Ticket #96 (Eraser Boot !) created by Overwriter
OK I know there is enough work to be done to get the standard windows …
20:08 Ticket #95 (CD / DVD Erasure) created by Overwriter
One for Eraser V6.3 I think. Trivial request again but I think it would …
20:07 Ticket #94 (All web pages for Eraser should link to each other.) created by Overwriter
Trivial request. All web pages for Eraser should link to each other. …

12/22/2008:

13:55 Ticket #92 (Restart Problems After Eraser 6.0.2.813 Install.) closed by Joel
fixed: Yeah, fixed.

12/17/2008:

16:11 Ticket #93 (Eraser 5.86.1 Not Erasing .txt or URL files) created by harkonenn
Joel, this is a reminder, as you requested. Eraser 5.86.1 does not …

12/14/2008:

10:59 Changeset [820] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs

Make the EraserSettings? class a singleton. Stylistically that's more correct (thanks Svante!)

10:30 Changeset [819] by lowjoel
  • branches/eraser6/Installer/Installer.wixproj

Another harmless warning suppressed.

10:25 Changeset [818] by lowjoel
  • branches/eraser6/Installer/Installer.wixproj

Ignore ICE03 since it's harmless.

10:19 Changeset [817] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs

-Fixed the check when Eraser is closed (on whether to minimise to system notification area). The comparison was false therefore leading to XP users being unable to shutdown their computers. Partially fixes #92.
-Use the EraserSettings? class as a concrete version of the settings store.

10:16 CompilingEraser edited by Joel
Express users cannot compile the Shell Extension (diff)
10:04 Changeset [816] by lowjoel
  • branches/eraser6/Installer
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Installer/Installer.wixproj

Added Merge Modules to the WiX project because the Shell extension requires the CRT, ATL and MFC libraries. CompilingEraser has also been updated to reflect the new instructions.

10:02 Changeset [815] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Force the bootstrapper to redraw the progress window after it has been created so under XP it doesn't have a white background.

09:52 CompilingEraser edited by Joel
Merge modules have been added to the MSI because the Shell is written … (diff)

12/13/2008:

16:33 Ticket #92 (Restart Problems After Eraser 6.0.2.813 Install.) created by Overwriter
XP Pro SP3 Dot-Net 3.5 Fresh install of Eraser 6.0.2.813 Setup.exe. …
09:00 Ticket #46 (Implement Tasklist competion action) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
02:30 Changeset [814] by lowjoel
  • branches/website/Templates/Eraser.dwt
  • branches/website/announcements/20081201.html
  • branches/website/announcements/20081213.html
  • branches/website/contributing.html
  • branches/website/index.php
  • branches/website/reviews.html

Released rc2

01:26 Changeset [813] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/ShellExt/ShellExt_i.c
  • branches/eraser6/ShellExt/ShellExt_i.h
  • branches/eraser6/Version.cs
  • branches/eraser6/Version.rc
  • branches/eraser6/Version.wxs

Build 813 (rc2) is ready.

12/12/2008:

12:18 Changeset [812] by lowjoel
  • branches/eraser6/Manager/Task.cs

There's no need for the archaic *.*, * will do.

11:30 Ticket #91 (Code Cleanup) created by Joel
While going through the code I see a big difference between newly written …
11:21 Changeset [811] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-Progress calculation is now based on a 15-second average
-Catch exceptions when enumerating ADSes, they may be thrown if access to the file is denied.

11:20 Changeset [810] by lowjoel
  • branches/eraser6/Util/File.cs

Apparently SfcIsFileProtected? can return 0 as well, no idea why. But the files are usually unprotected.

11:16 Changeset [809] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs

-Unused space erasures should have the trailing \ after the volume identifier, otherwise it refers to the current directory on the drive.
-Set the erase cluster tips checkbox value correctly, there was a mistake there in reading a blank Task.

10:19 Changeset [808] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx
  • branches/eraser6/Util/StreamInfo.cs

-Up the number of retries before giving up removing a file to 50
-Implemented stream attribute setting/getting in StreamInfo?

07:04 Changeset [807] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-Allow cancellation of file cluster tips erasures
-Only erase the cluster tips if we can lock the file for our own use (to prevent corruption)

06:51 Changeset [806] by lowjoel
  • branches/eraser6/Manager/Task.cs

Use a custom version of GetFiles? instead of the one in DirectoryInfo? since the latter will throw an UnauthorizedAccessException? whenever it reaches a folder it can't read then completely give up: we need at least most of the entries to erase.

06:50 Changeset [805] by lowjoel
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

New strings

06:48 Changeset [804] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Break up the ProgressManager? class into the same base class and a TaskProgressManager? class which handles a task as well. This partially implements #90

06:05 Changeset [803] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Reset all file attributes before erasing a file's cluster tips, unless the file is encrypted, compressed or sparse.

05:54 Changeset [802] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-A few minor optimisations
-Implemented a crude progress callback for old file system entry erasures

05:51 Ticket #90 (Generic speed meter) created by Joel
The DirectExecutor? code needs a generic way of measuring speed and amount …
04:06 Changeset [801] by lowjoel
  • branches/eraser6/Manager/Settings.cs

Implement caching when querying for defaults. This should reduce the performance penalty when querying for PRNGs in a tight loop.

03:41 Changeset [800] by lowjoel
  • branches/eraser6/Manager/Task.cs

So long a drive has a Recycle Bin folder it *should* be eraseable

03:40 Changeset [799] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-Add the task into the list of tasks, broadcast the task added event THEN queue the task. This prevents the task started event from reaching the event handlers before the task added event, in essence forcing the task to start without having been added
-Securely remove the old files and folders, simple deletion leaves the files behind and forensic analysis can tell users when the volume was erased
-Make the file names used for erasing as long as possible (within MAX_PATH)

03:24 Changeset [798] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-Create one-byte files to clear resident MFT entries: the size of one cluster seems too big and the write just fails
-Create the temporary MFT clearing files in a subfolder for removal later

03:23 Changeset [797] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.cs

Set all progress bars and associated labels to display 100% upon completion of the task.

03:12 Changeset [796] by lowjoel
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

Use the new terminology I decided upon in the previous revision.

03:04 Ticket #89 (NTFS directory entries not erased) closed by Joel
fixed: Implemented in r795.
03:04 Changeset [795] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx
  • branches/eraser6/Util/NtfsAPI.cs
  • branches/eraser6/Util/Util.csproj

-Replace FAT/MFT with a more file system neutral term "file system entries". That will be used in place of the specific terms in the UI, but in the code MFT and FAT will be used when referring to the specific file systems.
-Remove *both* resident file system table files and the old file system entries. Previous versions were implemented wrongly in that they implemented the former but not the latter. This rixes #89.
-Added a basic NTFS API for use in file system table clean ups.

02:46 Changeset [794] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj

No need to regenerate the .designer.cs files for the resx files.

12/11/2008:

14:26 Ticket #89 (NTFS directory entries not erased) created by Joel
I just did a check between the erasures of v5 vs v6 using Recuva and …
13:53 Changeset [793] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs

Disable the creation of the Windows Installer shortcuts which help repair applications automatically because users will run Eraser as an administrator quite regularly and the special shortcuts lack that entry.

13:34 Changeset [792] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Don't reset the progress bar style to remove the marquee if it wasn't set to begin with: this fixes the problem of the progress bar always displaying zero.

13:11 Changeset [791] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/Strings.en.resx

Don't place the Eraser Executor instance in a Using block in the program initialisation code for GUI: the function is meant to be exited for the application to start running. Instead, clean up during the exit phase of the program's lifetime. This fixes a regression when moving to the single instance application model.

12:22 Ticket #88 (Single Instance) closed by Joel
fixed: Implemented in r781. I thought it was quite important because like you …
12:20 Changeset [790] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Alignment eyecandy

12:19 Changeset [789] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h
  • branches/eraser6/ShellExt/ShellExt.rc
  • branches/eraser6/ShellExt/resource.h

-Replace all functions taking a string parameter to take a const reference to reduce copying
-Factor out the call to launch Eraser, allowing for the spawned instance to run elevated (though it is currently unimplemented)

12:15 Changeset [788] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Show a helpful message whenever Eraser tries to communicate with another instance of higher privileges (e.g., when a non-elevated process is communicating with an elevated process)

08:49 Changeset [787] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs

Removed the duplicate string as mentioned earlier.

08:46 Changeset [786] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs

Force the creation of the main window if the main window is not going to be displayed on the first run.

08:17 Changeset [785] by lowjoel
  • branches/eraser6/Eraser/Strings.Designer.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.nl.Designer.cs
  • branches/eraser6/Eraser/Strings.resx

Replaced a duplicate string (just with a period)

06:54 Changeset [784] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/UpdateForm.cs

-For consistency, I'm changing all calls to Control.Hide and Control.Show to Control.Visible = false and Control.Visible = true respectively
-When the MainForm? is asked to be shown, assume it is from the system notification area and activate the form as well

06:51 Changeset [783] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Copy how pipe servers asynchronously wait for connections from Program.cs, since during my debugging the latter's implementation produced more reliable connections. Hopefully this really fixes the problem of intermittent connections.

05:12 Changeset [782] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Documented the event handlers

03:29 Changeset [781] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/Program.cs

Implemented a Single-Instance version of Eraser. The GUI program will only run once per user; subsequent instances will trigger the first instance to appear.

12/10/2008:

10:34 Changeset [780] by lowjoel
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Version.binc

Forget about the binc file. I can't get it to work.

10:23 Changeset [779] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs

Display the balloon only when the main frame is minimised.

10:03 Changeset [778] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Replaced the internally-accessible variables into properties which can be accessed internally.

09:56 Changeset [777] by lowjoel
  • branches/eraser6/Manager/Task.cs

-Log all failed directory/ADS traversals
-Allow all erasure targets to have a reference to the task which owns them

-So I've created an ErasureTargetsList? which handles adds and inserts which sets the target Task property so that the Task can be accessed by targets

09:48 Changeset [776] by lowjoel
  • branches/eraser6/Eraser/Resources/BackgroundLogo.png

RC2 artwork.

09:35 Ticket #88 (Single Instance) created by hangy
It would be nice if Eraser ensured that there is only one instance of the …
09:21 Ticket #73 (Parallel erasures of different physical drives) closed by hangy
duplicate: Seems like a dupe of #15.
07:25 Changeset [775] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx

Force the creation of the window handles immediately after the control has been created so that when events come from other threads the controls will not be created in the child threads and will instead be created in the main thread.

06:27 Changeset [774] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Removed a duplicate TODO for FAT erasures.

06:25 Changeset [773] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Installer/DirectoryStructure.wxs

Eraser now takes two command parameters for GUI mode: --atRestart and --quiet.

  • --atRestart tells Eraser that the program was started at a system boot and should run the erase at restart tasks
  • --quiet tells Eraser to run without displaying any UI and to hide itself in the system notification area
05:55 Changeset [772] by lowjoel
  • branches/eraser6/Installer/SignBin.bat

Paginate the command nicely

05:47 Changeset [771] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

Woops, accidentally slipped in a line of debug code.

05:35 Changeset [770] by lowjoel
  • branches/eraser6/Installer/SignBin.bat

Combine the signing into two command lines. Signing is sped up slightly.

05:34 Changeset [769] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/ShellExt_i.c
  • branches/eraser6/ShellExt/ShellExt_i.h

64-bit warning fix

05:25 Changeset [768] by lowjoel
  • branches/eraser6/ShellExt/DllMain.cpp

Set the Invalid parameter handler to a null handler; all secure CRT calls we make are checked for errors.

05:23 Changeset [767] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/stdafx.h

-Replace all ZwQueryKey? calls with NtQueryKey? (according to MSDN docs)
-Fixed release build crashes: NtQueryKey? should have been declared as stdcall
-Fixed the incorrct use of the ERROR constants; NT API calls use the STATUS constants. ERROR constants are for Win32 calls.

01:12 Ticket #87 (Eraser starting up on reboot) created by Joel
http://bbs.heidi.ie/viewtopic.php?f=2&t=5423

12/9/2008:

12:59 Changeset [766] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs

-Start Eraser at system startup for the Erase on Restart tasks to function
-Add Eraser to the approved shell plugins list
-Quote all eraser paths, even though they are short filen ames

09:34 Changeset [765] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Util/StreamInfo.cs

These exceptions were incorrectly labelled as Not Implemented when they were actually other types of exceptions.

09:28 Ticket #86 (Allow users to start Eraser Setup silently) closed by Joel
fixed: Implemented in r764.
09:25 Changeset [764] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Allow users to specify a --quiet or -q switch to prevent the display of any UI. Implements #86.

09:19 Changeset [763] by lowjoel
  • branches/eraser6/ShellExt/DllMain.def

No need for the LIBRARY declaration which threw warnings un x64 builds.

09:12 Changeset [762] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Installer/SignBin.bat

Updated the paths to the shell extension DLLs after the output names and directories were changed in an earlier commit.

09:11 Changeset [761] by lowjoel
  • branches/eraser6/Eraser/Program.cs

-Make sure CommandMain? always returns a value
-When a Win32Exception is caught, return the error code as the application exit code

09:10 Changeset [760] by lowjoel
  • branches/eraser6/Eraser.sln

The installer is dependent on the Shell extension binaries.

08:40 Changeset [759] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

-Replace the Eraser program entry points with those that retunr ints for statuses to be returned to the shell extension
-Create a default constructor for the Handle class to allow for the initialisation of NULL handles
-Factor out the string formatting code to the FormatString? function. Allows for reuse later on
-Replace all new[]'s and selete[]'s with std::vector as the buffer to prevent memory leaks
-Implemented error checking when the Eraser binary is called from the shell extension. If the process returns an error status, we must be sure to read the output pipe for the error and display it to the user.

12/8/2008:

13:02 Ticket #86 (Allow users to start Eraser Setup silently) created by Joel

12/6/2008:

12:24 Changeset [758] by lowjoel
  • branches/website/Templates/Eraser.dwt
  • branches/website/announcements/20081201.html
  • branches/website/contributing.html
  • branches/website/index.php
  • branches/website/reviews.html

Added an announcement regarding the CA certs.

12:19 Changeset [757] by lowjoel
  • branches/eraser6/Dialog Designs/eraser.icons.ico

This icon isn't referenced anywhere.

10:35 Changeset [756] by lowjoel
  • branches/eraser6/Eraser/Program.cs

The default schedule on the command line is to queue for immediate execution.

10:34 Ticket #84 (Implement Erase on Restart) closed by Joel
fixed: Implemented in r751, r752 and r755
10:33 Changeset [755] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

Allow the shell extension to specify when a task should be executed. Implements #84

10:32 Changeset [754] by lowjoel
  • branches/eraser6/Manager/Task.cs

Provide sane defaults for the Folder erasure targets.

10:32 Changeset [753] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Fixed the problem of spurious pipes which spontaneously break... I think/hope.

09:17 Changeset [752] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Actually send the correct schedule, not just parse the command line correctly.

09:04 Changeset [751] by lowjoel
  • branches/eraser6/Eraser/Program.cs

-Allow users to specify the schedule on the command line
-Check that tasks have at least one target

08:55 Changeset [750] by lowjoel
  • branches/eraser6/Eraser/Program.cs

-Create the RemoteExecutorClient? instance only when AddTask? is called; otherwise the instance is not used.
-Document the help action, and added documentation for the future schedule parameter to addtask

08:44 Changeset [749] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Implement pipe connections correctly.
-Create one new instance every time a pipe is used up and close it when it is done.
-Use a threadpool to execute the tasks asynchronously (and so the main thread can wait for more connections)

08:25 Changeset [748] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Implement a proper asynchronous wait handler for connections.

08:17 Ticket #85 (Relative file paths on Eraser Command Line) closed by Joel
fixed: Implemented in r747.
08:17 Changeset [747] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Always transfer the absolute file path when sending a request to a RemoteExecutorServer?, since the working directories may be different. Fixes #85.

07:46 Ticket #85 (Relative file paths on Eraser Command Line) created by Joel
Relative file paths on the command line will be executed relative to the …
07:44 Changeset [746] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Slightly friendlier informational message.

07:41 Changeset [745] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

-Added the ShowNotificationBalloon? function which allows code to display notifications in the notification area
-Display a balloon when a new task has been added to the queue

07:22 Changeset [744] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Make sure all clients call Connect explicitly; the wait time is now 3 seconds up from 0.25 seconds.

07:21 Changeset [743] by lowjoel
  • branches/eraser6/Manager/Task.cs

Give all variables reasonable defaults at initialisation.

07:03 Ticket #84 (Implement Erase on Restart) created by Joel
Context menu entry is present but is currently a no-op.
07:02 Ticket #12 (Create explorer extension) closed by Joel
fixed: Decision: I'll Close this ticket, and then create anew one as an …
06:58 Ticket #81 (Control shell integration through Eraser Settings) closed by Joel
fixed: Implemented in r742.
06:58 Changeset [742] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/ShellExt/CtxMenu.cpp

Allow the user to control whether the shell extension should be loaded from the Settings panel; and that should only affect the current user. Implements #81

06:14 Ticket #83 (Upgrade Remote Executor classes) created by Joel
The current Remote Executor classes only allow task addition and deletion, …
06:04 Ticket #82 (Eraser command line without --method) closed by Joel
fixed: Fixed in r737.
06:03 Ticket #76 (Recycle bin context menu to be in submenu) closed by Joel
fixed: Implemented. I'm not sure how good the solution is... but yeah. …
06:00 Changeset [741] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

Created interfaces such that event handlers can be associated with tasks being added or removed; this allows for other remote clients to add tasks to the executor instance and the owning program to be aware of such changes (and update UI accordingly.)

04:59 Changeset [740] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Allow Eraser to accept remote connections from other sources on the same machine.

04:55 Changeset [739] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Ignore the request (or partial request) sent by clients who disconnect before the request is completely transferred

03:34 Changeset [738] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Include the User SID when creating a server instance so that multi-user scenarios are taken care of.

03:29 Changeset [737] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Manager/RemoteExecutor.cs

-Allow the --method parameter to be optional
-If a RemoteExecutorServer? instance is not running, Program should detect it and start a new Eraser instance.

03:04 Changeset [736] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

Fixed crash in Explorer because of the lack of a mechanism to maintain the MenuTitle? pointer.

03:01 Changeset [735] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

-Load the Eraser name at runtime for localisation to be possible.
-Place the error messages into the resource section for localisation.

02:52 Changeset [734] by lowjoel
  • branches/eraser6/ShellExt/stdafx.h

No need to precompile resource.h

02:52 Changeset [733] by lowjoel
  • branches/eraser6/ShellExt/ShellExt.rc
  • branches/eraser6/ShellExt/resource.h

Renumber the messages so that the project name, extension name etc can be included in the list of localisable strings

02:30 Changeset [732] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/ShellExt/ShellExt.vcproj

Instead of putting the Shell extension into separate subfolders of the project output directory which prevents the DLL from finding the EXE, add the architecture to the end of the DLL name, then when packaging for MSIs we use the actual name.

02:26 Changeset [731] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

THIS handling of the command line will allow -q to be passed to prevent a console window from appearing.

02:17 Changeset [730] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

Implemented volume unused space erasure and recycle bin erasure.

02:09 Changeset [729] by lowjoel
  • branches/eraser6/ShellExt/ShellExt.rc

Slightly more Explorer-like help text.

02:06 Changeset [728] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/ShellExt.rc
  • branches/eraser6/ShellExt/resource.h

Added help strings for the other context menu items.

02:05 Changeset [727] by lowjoel
  • branches/eraser6/ShellExt/ShellExt.vcproj
  • branches/eraser6/ShellExt/stdafx.h
  • branches/eraser6/ShellExt/targetver.h

OK, I've reincluded targetver since the Resource File Editor generates RC files that include the file.

02:00 Changeset [726] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

No need to typedef std::wstring nor std::list<std::wstring>

01:57 Changeset [725] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

Fixed an array out of bounds error.

01:56 Changeset [724] by lowjoel
  • branches/eraser6/ShellExt
  • branches/eraser6/ShellExt/ShellExt.rc
  • branches/eraser6/ShellExt/resource.h

Replace the resources file so that we include the localisations of the UI text.

01:36 Changeset [723] by lowjoel
  • branches/eraser6/ShellExt/ShellExt.vcproj

The vcproj was smart enough to include the Eraser icon...

01:35 Changeset [722] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

Instead of hardcoding strings, I'm going to use resources to embed the different localisations, and calling LoadString? to retrieve the strings. This allows for internationalisation/localisation of the Shell extension text as well.

01:34 Changeset [721] by lowjoel
  • branches/eraser6/ShellExt/stdafx.h

I hate standard min/max macros. std::min/std::max is better!

01:04 Changeset [720] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

-Renamed the variables to follow the rest of the project's conventions.
-Don't ownerdraw the menu when the drag-and-drop handler is called - somehow IContextMenu3 is not supported there.

12/5/2008:

23:53 Changeset [719] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

Fixed a memory leak when using GetSeparator?

23:47 Changeset [718] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs

When referring to the Shell extension DLL use the File ID as the target so we won't have to worry about changing them in future.

23:46 Changeset [717] by lowjoel
  • branches/eraser6/Util/VolumeInfo.cs

Let the Win32 error propagate up to the executor code instead of a useless function name.

13:16 InstallingBetas edited by Joel
Wrong certificate link. (diff)
13:00 Ticket #21 (Create Verify) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
13:00 Ticket #61 (Html files and folders association.) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
13:00 Ticket #35 (Eraser leaving info after install) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
12:58 Changeset [716] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h

-Replaced the CEraserLPVERBS constants with an Actions enumeration
-Only display relevant actions when a recycle bin context menu is requested (unused space is irrelevant here)

04:37 Changeset [715] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp
  • branches/eraser6/ShellExt/CtxMenu.h
  • branches/eraser6/ShellExt/ShellExt_i.c
  • branches/eraser6/ShellExt/ShellExt_i.h

Defined a GetHKeyPath function which translates the HKEY parameter from IShellExtInit::Initialize to a registry key name. This marks the beginning of us allowing our shell extension to be integrated into the Explorer Recycle Bin context menu (okay, it's a little hackish, but let's see how it plays out. All that I needed was a debugger into the shell extension, no other hacks :P)

04:35 Changeset [714] by lowjoel
  • branches/eraser6/ShellExt/ShellExt.vcproj

Don't automatically register the library: that's what installers are for.

Note: See TracTimeline for information about the timeline view.