I was not aware that Msim needed a template for a user db. My original user db was created under Msim V10.1. The Same Machine was used for several years. Parts were added to the user db over time. The Same Machine went through several upgrades to Msim ending at V14.0. Whenever Msim was run and the user db was chosen as the source for components, all components were always available for insertion.
A new machine was purchased. V14.1 was installed. The old user db (".usr") was copied from the old machine and placed in the V14.1 database directory. When running Msim, it was discovered that the user db was "Blank", no parts, even though it was over 500kb. I tried convert db from v13 to V14. That failed with the message: "Problem: Database version .[User Database]. The User Database cannot be accessed. Features using the User Database will not be available."
I tried everything from V9 to V13 for conversion option with the same failure. I created a new part using the 14.1 Component Wizard and saved it to the user db hoping that might somehow transform the DB. When the user db was selected for the component source, Only The New Part appeared and all else was blank. The user db swelled to 750kb also. I tried to merge the user db to create a corporate db hoping to get a whole new db. Same result. Only new part was shown and the corp db was over 700kb.
I opened the user db for a look. Early in the file header "Standard JET DB" appeared. I wondered why Msim didn't have or look for the common Jet DB drivers (ADO?). It should have been able to read the user db and get all the component data. At least it should have been able to present the user with a field map to set up a current version user db (like excel does with a txt or csv file). That wasn't the case.
I went back to the old machine to look more closely at what files V14.0 was using to work with the user db ".usr" file. I stumbled upon "UsrCompTemplate_S.usr" under All Users/Application Data/...
I took a chance and copied the template file and dropped it in the new machine V14.1 database directory. I lit off Msim and the User DB was there, all parts ready for use. Apparently when Msim was upgraded each time in the old machine, the template was automatically carried forward into the new database or template directory for use with the user db. That's why the parts were always avalable and there was no reason to suspect that since V14.0 worked fine with the user db, that V14.1 would not work.
There was no prior installation from which to bring in a db template so the user db couldn't be accessed. BUT, if Msim was smart enough to look for the template file in the first place, why didn't it inform the user that a template was needed and that no template was found???? That would have saved me a lot of time and grief. Perhaps during a new installation Msim should ask the user if there is an existing user db AND it's required template to be imported. I don't recall that taking place if it did.....
Proposed Solutions:
1. Msim acquire and install Jet DB drivers so that a template is not an issue. (lot of work)
2. Msim Automatically Export the Entire User DB as a PRZ file Everytime there is a change to the db with a reminder to the user. (perhaps a little less work but a good enough solution)
3. Msim Notify the user that a template is missing and is needed to use the db (Lame lazy solution)
4. Msim Always Install Templates for All Versions of Msim when a new installation is done. We are only talking a few MB and implementation should be trivial. This may also permit an Automatic Upgrade of the User DB to current installation version. (Best Alternative?)
I think options 2 and 4 should be implemented.
Robert Phillips
Just Plain Bob