This post is a follow-up to Peter's post Inmagic WebPublisher PRO and Vista Virtualization, but specifically pertaining to DB/TextWorks.
I recently had a client who created and added a bunch of records to a new textbase located in a folder under Program Files on her Vista-installed laptop. When it came time to move the textbase off her laptop onto another computer she zipped up all the textbase files, copied the zip file to her thumb drive and prepared to unzip the files onto the other machine. With files unzipped on the other machine (an older XP-installed desktop computer), she enthusiastically went to show off her newly created and populated textbase.
Much to her surprise DB/TextWorks produced a disheartening message indicating that the textbase was empty. How could this be, she had 170 records in the textbase when it was on her laptop and she had copied every textbase file from the correct folder on her laptop. I got involved and we looked this way and that way - on both machines - and there was nothing that we could see that could indicate that the textbase could possibly be empty (the .btx, .dbt and .occ files were rather large).
The ah ha moment came when Kathy suggested that Peter had posted something about this on our Blog - back in March 2008 (see above link). I had skipped over that posting because it had referenced WebPublisher, but in fact it told me exactly what I needed to know. To change the text and code slightly from what Peter posted:
For instance, say DB/TextWorks indicates that a textbase is located at:
Vista detects that DB/TextWorks does not have permission to save to that location and copies the file to:
%Users%\<your account>\AppData\Local\VirtualStore\Program Files\Inmagic\Textbases
Subsequent read/write operations access the VirtualStore version of the file, even though DB/TextWorks will still think it is accessing the Program Files directory. Poor deluded DB/TextWorks.
It took about 1 minute to find the database files in the VirtualStore location - thank you Peter! - however, there was more, or in this case less, to come! Two of the essential files were missing. They were the .tba file and the .sdo file. Why those two? Who knows? However, combining the new found files (.acf, .btx, .dbo, .dbr, .ixl, .log, and .occ) from the VirtualStore location with the .tba and the .sdo file from the presumed location – under Program files, allowed us to complete the textbase and transfer it to another location.
The lesson learned here:
- On a Vista machine DO NOT install textbases under Program files.
And a Note:
- this problem only occurs with Vista's UAC (user account control) turned on.