Udostępnij za pośrednictwem


Tombo in Windows 7 / Windows Server 2008 R2

Few years ago my friend showed me interesting application called Tombo. Author of Tombo describes it like this: TOMBO is yet another NotesTaker works on Windows/Windows CE (taken from here) . It means that it can be used to save notes and it runs on desktop windows as well as windows mobile/phone.

So I have been using Tombo for years and obviously I wanted to take with me to Windows 7 / Windows Server 2008 R2. Since it has been done in 2006 you might expect some issues with on newer OS. But that’s what I’m going to find out!

Okay what happens if I try to install the application by running the install.exe (after I have unzipped the installation package):

Tombo Install.exe message box indicating failed OS checkClearly there is version check in place that fails :-( But Windows 7 is actually clever enough that it notices this issue and displays following dialog:
Program Compatibility Assistant: This program might not have installed correctly Program Compatibility Assistant would fix the install if I would click the Reinstall using recommended settings but this time I won’t do that.

Instead I’ll use Application Compatibility Toolkit (ACT) to fix the issue. Since Tombo is fairly obviously failing version check I’ll just apply version lie to it. I’ll create new application fix for Tombo installer:

Compatibility Administrator for Tombo Install.exe Compatibility Administrator for Tombo Install.exe (part 2)

Here I’m going to apply just Windows XP SP3 version lie (so Tombo thinks we’re running it in XP):Compatibility Administrator for Tombo Install.exe (part 3) Compatibility Administrator for Tombo Install.exe (part 4) Then I’ll just click Finish, Save and Install the database directly from the UI (or you can do it via command line using sdbinst).

Now I’m able to pass that version check. I’ll just click next with defaults and see this confirmation dialog (notice the destination folder):

Tombo install dialog
So now I’m finally ready to run Tombo by clicking the icon:

Tombo icon

At first run it will ask me to do the configuration:

TomboDialog

If I set Root folder to some folder on my computer and press OK my settings are saved and everything works fine... Except if I take closer look at the Tombo folder:Tombo folder - Compatibility files

I can notice the Compatibility files appearing to the Windows Explorer. If I now click that I’ll notice that windows has written Tombo setting to the VirtualStore:

Tombo settings when virtualized to different folder

In this case the path is C:\Users\username\AppData\Local\VirtualStore\Program Files\Tombo (more info in here). For demonstration purposes I’ll just delete that xml file and launch Tombo again. But before I’ll click OK in the configuration dialog I’ll switch to Task Manager and remove UAC Virtualization selection for Tombo (and select Change virtualization from the confirmation dialog):

Windows Task Manager and UAC Virtualization

If I now try to set Root folder and click OK I’ll get this error:

TomboDialogSaveFailed

But Tombo is still running after that error message. If I now exit the main application it gives me another message:

TomboExitingError2 So it tries to write it’s settings to the Program files but is unable to do so and configuration changes are lost. Tombo would have worked with virtualization but when I turned it of I started seeing some error messages.

I can actually use tools like LUA Buglight or Standard User Analyzer (SUA) (which ships with ACT) to verify this behavior. However this time I won’t details of those application. But here is one screenshot of SUA after it has been used to run Tombo:

Standard User Analyzer - Tombo results

SUA displays fair amount of information related to that issue. Now we’re ready to do something for it if we don’t like the virtualstore solution.

I could solve this issue in many ways. I could simple copy the Tombo files to different folder (where standard user would have read write rights) and run it from there. But I want to solve this by redirecting file operations from program files to my desktop (as an example).

Here comes Compatibility Administrator back in to the game. Let’s create new application fix:

Compatibility Administrator - Application fix for Tombo

Then I click Next and select None for the operating system mode and then click again next.

Compatibility Administrator - Application fix for Tombo (part 2)

Now I need to configure CorrectFilePath fix using parameters button:

CorrectFilePaths parameters

So basically with following command I redirected the file to my desktop (or more precisely to the desktop of the user who is using Tombo):

"C:\Program Files\Tombo\tomboprops.xml;%userdesktop%\tomboprops.xml"

NOTE: It’s important that you place the quotes correctly so that redirection works.

When I have Saved and Installed the fix I’m ready to enjoy the redirection of the configuration file to the desktop.

I just wanted to demonstrate few steps that you could take when trying out older applications compatibility on Windows 7 / Windows Server 2008 R2. I’m probably going to get back to this subject later so if you’re interested then stay tuned for more post in this category.

Anyways... Happy hacking!

J

Comments

  • Anonymous
    January 16, 2012
    this is great and similar to what I designed a few years ago when I was in college studying computer science and so on.

  • Anonymous
    January 16, 2012
    you have some great insight and hope you continue to improve this.