![]() |
| [.05] Cautionary tale regarding sandboxie shortcuts |
|
loid
Guest
|
This is important and potentially useful so please bear with me: I just spent more than a week dealing with a very broken Sandboxie but I finally managed to fix it. Not wanting to waste anyone's time I was determined to solve the problem myself since I was pretty sure I caused it to begin with. Nothing found in the forum was helpful by the way, nothing seemed to apply.
The problem: Something changed and my sandboxed world suddenly crashed down around me, almost nothing would run. Some software would quietly close before getting started in ANY sandbox, while things like Internet Explorer and Notepad would immediately crash and kick up errors like: notepad.exe - Ordinal Not Found The ordinal 345 could not be located in the dynamic link library COMCTL32.dll. iexplore.exe - Application Error The instruction at 0x7423d02f referenced memory at 0x721dd000. The memory could not be read. Another thing that went wrong was the total disappearance of the "run as uac administrator" checkbox on the "run sandboxed" dialog. In retrospect, this was a clue to the problem. What blew my mind during the outage was that one sandbox continued to run IE flawlessly while all of the others couldn't, yet a lot of other software still wouldn't run in that one semi-working sandbox. I dug deep and did everything I could think of to identify or fix the problem, creating new sandboxes, cloning the one working sandbox's data in sandboxie.ini, upgrading and downgrading Sandboxie through numerous recent versions, completely uninstalling and reinstalling it and removing all traces, etc. Nothing changed. As for the sandbox that would run IE, it was the only one with IE set as a forced program (IE was always run in other sandboxes via a shortcut routing it through start.exe). IE would successfully run in that box when forced, but it would NOT run through a start.exe shortcut OR through the "run sandboxed" dialog. This distinction was a clue, a forced program apparently bypasses start.exe, but things running via start.exe were failing... Here's what happened: on 32-bit Vista Home Premium running a standard user account, start.exe was accidentally set to run in XP compatibility mode. This is what ruined everything! How it happened was that I'd been playing a with a shortcut to run a program via start.exe, and during my experimentation I foolishly set the shortcut's compatibility mode to XP and left it that way. This set start.exe to run in XP mode globally, not just via that one isolated shortcut (duh). This compatibility mode setting survived in the registry through all of my activities of course, and still applied after a reinstall because the path to start.exe remained the same. Lesson learned: don't mess with the Windows compatibility mode setting of a Sandboxie shortcut! I encourage you to try to replicate that scenario tzuk. What I found was that many EXEs in Program Files and Windows would fail entirely no matter how I launched them. Some things like IE or Notepad with the major errors noted above, while things like the default Windows games would just quietly quit before getting started. However, if any of these EXEs were forced they would run without problem. Strangely, other mundane software in "non-system" locations would generally run in any sandbox no matter how they were launched. So, there was definitely some funky DLL and OS related stuff happening. To be clear: I don't view this as a Sandboxie error, I see it as a matter of user error and OS interference. I don't know if this helps anything from a development standpoint but it's certainly a cautionary tale for the end user. Perhaps the technical issues involved might provide some clues regarding similar errors, like ones reported in THIS thread or in others that mention the "referenced memory" errors. |
||||||||||||
|
|
|||||||||||||
|
loid
Guest
|
In the thread I linked at the bottom of my posting the user experienced pretty much the same errors I did (on the same OS and with similar programs and a similar resource log), and managed to fix the problem without ever really identifying it by uninstalling and reinstalling Sandboxie.
At this point I wonder if he installed to a different directory. If so, and if his problem is what I described, then he would have avoided the problematic registry entry for .exe compatibility. Ah, but as I think about it, when I uninstalled Sandboxie myself I didn't remove the program folder entirely, as it had a couple of meaningless files left in it. I now wonder: if the folder were deleted then perhaps windows would have wiped the compatibility registry entry automatically, which may have happened for the other guy. *shrugs* In any event, his problem was so similar to mine I think it's related on some level. Compatibility Mode registry info, for what it's worth: http://www.vistax64.com/tutorials/63998-compatibility-mode-list-programs.html I didn't mention software versions in my posting because I didn't feel they mattered, but I was dealing with IE9, Notepad who knows what, other various software, and several of the most recent Sandboxie versions, on Vista Home Premium 32-bit using a standard user account (and when I switched to the admin account everything seemed to work fine, so I knew the problem was tied to the current user). |
||||||||||||
|
|
|||||||||||||
|
loid
Guest
|
Searching the forum for "ordinal" (involved in the errors I saw) only turns up two previous threads, the one I already mentioned and the following (both of which were posted in April).
http://sandboxie.com/phpbb/viewtopic.php?t=12813 There the user states: "Next I installed Sandboxie (without installing Avast) and tried to run a Sandboxed browser window, now there is no error and no activity at all." Also: "I called the customer and had her try to run notepad.exe in Sandboxie. She reported this error: The ordinal 345 could not be located in the dynamic link library COMCTL32.dll." No error / no activity seems to match what I said about things quietly quitting (Comodo Dragon was a browser that would do just that for me), while the ordinal error when running notepad is exactly what I saw. So, the Windows compatibility flag may be related in that case too. |
||||||||||||
|
|
|||||||||||||
|
tzuk
|
The application compatibility settings (such as run in XP mode) propagate from Start.exe to the SandboxieRpcSs and SandboxieDcomLaunch processes and that's where they really cause a problem. Because SandboxieRpcSs and SandboxieDcomLaunch have to know the real version of Windows they are running on, and the compatibility settings was messing with that. Good job pointing this out, thanks! This will be fixed in the next beta version that I release.
|
||||||||||||
|
|
|||||||||||||
|
tzuk
|
Should be fixed in version 3.81.05.
|
||||||||||||
|
|
|||||||||||||
|
oloid
Guest
|
It should be... and it is. I repeated everything I did before and everything works now without a problem. Well done! Off-topic: it's kind of funny to me but this is the second time I stumbled across an error relating to a combo of the AppCompatFlags\Layers key, start.exe and interference by Windows (I've been here intermittently since at least early 2009, as Doon in 2009/2010 and Oloid in 2010/2011). Back in 2009 the Program Compatibility Assistant was throwing start.exe into the registry with an elevate flag after an installer triggered an 'error 740', the key subsequently triggering a loop that would create an endless stream of start.exe instances when something required elevation. I found it, you fixed it. Many thanks for all the sandboxing! |
||||||||||||||
|
|
|||||||||||||||
|
tzuk
|
Maybe you have a knack for finding compatibility issues
|
||||||||||||
|
|
|||||||||||||
| [.05] Cautionary tale regarding sandboxie shortcuts |
|
||
|


Use the RSS feed to watch this topic for replies