Well, 2 actually...
For starters, it's creating a file in "...\Temporary Internet Files\Content.IE5\RANDOMFOLDERNAME\isd2update[1].upt," and judging by the filename is pretty traceable.
Also, I was looking through the options, and studying them more carefully, and it seems to me that a little ignorance on the user's part can make the app less portable (running on startup, of course, but also allowing the user to set boottime defrag, and allowing the user to shut down the computer automatically when defragmenting is over...)
I'm honestly not sure about continuing this app, if not for the first reason, then definitely for the second. I can contact the devs to see if we can work something out, though.
Handling the boot-time defrag shouldn't be a problem, the most likely way the program does this is by creating an entry in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce.
I believe run on startup may have something similar in the registry, too, but I may be wrong.
The shutdown after defrag is less likely to be fixable, but there is a chance if someone wants to put the effort in. Someone with Delphi skills could potentially rip apart the source for ShutdownGuard and build an app that would only block shutdown calls from Smart Defrag. You would then set up Smart Defrag Portable to run a custom exe or bat which starts the shutdown blocker and SDPortable. But it is a lot of effort for something that still might not work...
We trust users not to select to start with windows or select to register filetypes in quite a few apps at the moment. So, we'd be ok on that front. We should start checking for that as we're going to less-technical users now, though.
Does the file have anything personally identifiable?
Sometimes, the impossible can become possible, if you're awesome!
opening that file in notepad gives me this:
And what if autoupdate/check for updates is disabled in the Smart Defrag options?
Sometimes, the impossible can become possible, if you're awesome!
It doesn't look like there's an option to change that.
I have not actually investigated Smart Defrag so this may not help. In TB-Tray (an app of mine in Dev) there is an option to run at start up. I handle it with this line:
-=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\TB-Tray.lnk
“Be who you are and say what you feel because those who mind don't matter and those who matter don't mind.” Dr. Seuss
Ok, the file being cached is http://update.iobit.com/infofiles/smartdefrag/isd2update.upt
So, in theory, a call like this should delete it:
System::Call "wininet.dll::DeleteUrlCacheEntry(t'http://update.iobit.com/infofiles/smartdefrag/isd2update.upt')i .r2"
However, it is failing and when I Kernel32::GetLastError, I get ERROR_FILE_EXISTS
I know for a fact I had similar code working in the Updater or online Installer a while back using this same thing before we had our own inetc that didn't cache (and before the official one had a switch for disabling cache). But I can't find the code.
Anybody see anything wrong?
Sometimes, the impossible can become possible, if you're awesome!
I have SD installed on my local machine & both Start-up & Scheduled options are created as scheduled tasks (at least on XP SP3+). I haven't seen where the Boot Time Defrag happens but I'd be glad to poke around in the registry if you like. What if you forced the boot time to be every x boot & made it some outrageous number? There's also an option to turn off Boot Time Defrag if you look at that tab on the main screen. Couldn't you just use that?
I also wonder if your ISD file isn't part of the news entry rather than an auto-update check. My memory isn't as good as it used to be but I don't remember SD ever actually giving me an update prompt.
Again, let me know if there's anything I can do to help on this. I'm no dev but I do know my way around!
By default, Boot Time Defrag and Startup and Scheduled options are by default turned off. The problem, is however, that there's probably going to be some user somewhere that decides to turn it on, and while there's really no real problem that can happen if a user decides to change that, it'll leave some file/registry changes to the PC. As long as they only use the defrag/optimize option, though, in the app (and not ticking the option to shut down afterwards), Smart Defrag should remain portable.
...Except that in the latest version that update file is created (and it seems to be an update file, because the text specifically says "A new version of Smart Defrag 2 is available. Free update now?" and is called update.upt. LatestNews data is stored in the App\SmartDefrag\LatestNews folder, I think. It used to be that the update file was stored in the App\SmartDefrag, (as it is in the current portable version) but I don't know why the devs changed it.
I needed to adjust the API call to delete the URL a bit to be DeleteUrlCacheEntryW and now it's working. So that cache file is deleted on exit. 2.4 is released. Pyromaniac, please base your next release on the 2.4 build as I updated the package and help files, too.
Sometimes, the impossible can become possible, if you're awesome!
Thank you good sir