2

I am looking for a way to use a symlink or hardlink to trick a program into thinking a file is in a specific directory when it's actually on a network share. I know symlinks are available via Junction and in Vista and above, but this is a Windows XP Fat32 computer (Junction only works with NTFS).

The program in question is HomeBase3 from AbeBooks. According to their tech people, since the upgrade from 2.3 to 3, all networking has been disabled and the only way to do this would be to find some way to have the homebase.sqlite file be shared to both. The catch is that they claim there is no way to change the configuration and that the program will ONLY look in the Shared Docs\Homebase3\ folder.

I'm trying to help a small used-book store figure this out, and the budget is very, very limited and any help is appreciated.

It's free if you want to mess around with it here: http://www.abebooks.com/homebase/software-inventory-management-system-catalog/

They need the 3.0 version to stay up to date but really need two computers for inventory input and checkout.

tshepang
  • 12,111
  • 21
  • 91
  • 136
kesi
  • 21
  • 1
  • 2
  • 1
    See this question: [Faking symbolic links on a FAT32 formatted storage](http://stackoverflow.com/questions/4545536/faking-symbolic-links-on-a-fat32-formatted-storage). FAT32 doesn't support symbolic links, unfortunately. It would be *far*, *far* easier to convert the Windows XP machines to use NTFS. It's natively supported, and wouldn't cost them any money at all (at least if you do it in the evening after closing!) – Cody Gray - on strike Mar 30 '11 at 05:14

2 Answers2

0

Depending on how much data is in the SQLite database, if you don't need concurrent write access to the database I suggest you try using Dropbox ( http://www.dropbox.com/ ) to replicate the database file between computers (and as a bonus you get a backup in cloud :)

Install Dropbox on each computer and register a free account for the store.

In Dropbox Advanced Preferences you could configure the Dropbox location to be the SharedDocs folder.

Also under General Preferences enable "LAN sync" as this will allow your file to be synced fast between computers on the network regardless of internet speed (might even work without internet connectivity, but I'm not sure).

In the event that both computers write to the database at the same time, Dropbox will no longer be able to maintain sync, but will create a "conflicted copy" on one of the computers. You could have a script monitoring for this situation and alert the user. If that happens I imagine a simple recovery procedure could be to delete the "Inventory" input version as that data can be easily re-keyed.

Obviously this would not be a good option if the store does require concurrent write-access to the database from both computers, or if the SQLite database is too large.

gb96
  • 1,674
  • 1
  • 18
  • 26
0

Another solution might be to tell WinXP that your SharedDocs folder lives on your file server.

There a couple of different ways to do this, based on the way WinXP has these paths configured. Depending on how HomeBase3 looks up the SharedDocs path (that has different locations in different versions of Windows, so developers would be unlikely to hard-code the value) one or both of these methods might work.

  1. Windows Registry Editor. You can run regedit.exe and change the data stored under registry key "My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders". The setting "Common Documents" has a default value of "%ALLUSERSPROFILE%\Documents". You can change this value to point to a folder on a shared network drive.
  2. My Computer->Properties->Advanced->Environment Variables->System variables. Simply add a new System variable ALLUSERSPROFILE with value containing the path to a folder on a shared network drive.
gb96
  • 1,674
  • 1
  • 18
  • 26