suddenly DAZ Install Manager (DIM) reports 0 products installed, but DS works fine

This morning, DAZ Install Manager (DIM 1.2.0.6-64bit) reports that I have zero products installed. All of my products are on the Ready to Install tab, except for a few that should be (and are) on the Ready to Download tab.
When I start DS, all my products are where I expect them to be. That is, they are all installed in their various respective directories.
My DIM log doesn't report a crash, or a limit hit. It does show I've got a few duplicates, and a lot of content purchased elsewhere that lacks tags. I have a LOT of products installed in DIM, almost 16K.
Does DIM have a limit? Is there a way to force DIM to check the disk for what's actually installed, in case I've got something bad in DIM's cache or whatever? Is this a Postgres problem? Is there a way to check if that crashed building a LARGE table for DIM?
Thanks!
Comments
I selected one product from Ready to Download and downloaded it. Then, I selected it from Ready to Install and installed it. Now, I have ONE product in my Installed list in DIM. Even after I restart DIM, I have only ONE product installed now.
So, what change do I need to make to get DIM to realize all my OTHER installed products are installed?
maybe you altered a path to the manifest files or something
those tell it what is installed
when I had my motherboard replaced it was simply a matter of copying over those files to tell DIM the stuff was there on my external
DIM keeps track of the installed products with the manifest archive, a folder specified in DIM settings -> Installation. The manifests (.dsx files) get refreshed every time you refresh or open DIM. Make sure they are, in fact, present. Did you change the folder location recently, or move the manifests without changing the path in the settings? Did it happen once, or does it persist?
Thanks for the help. That definitely was part of the problem. I'm not positive how it happened, but my DIMSettings->Installation directory was pointing to a directory that had no DSX files in it.
So, I located the directory that had my DSX files in it and changed DIMSettings->Installation to point to that directory, thinking that would totally get me back.
It doesn't.
First, the good news: virtually all of my products are now on the "Installed" tab again.
But, when sorted by "Install Date: Recent First" (my usual way to sort them), they are instead in alphabetical order. Also, instead of the button on each product saying "Uninstall - <filesize>" they are say "Uninstall - ?". When I right click on any product on the "Installed" tab, or at least any that I sampled, the "Show Installed Files" is blank. It doesn't show which of several different content directories that I have that the product is in, like it used to.
When I spot check any of the DSX files, the "UserOrderId", "UserOrderDate" and "InstallerDate" fields look reasonable. But, I don't know if fields are missing from my DSX files. I do not see a "size" field within the DSX files, and I know that's one of the things missing that I noted above.
Okay, we're on the right track. The installation manifest files also keep track of where the product files were installed, i.e., drive and path. Go back to a .dsx file and look for the UserInstallPath entry to see if it matches the curent installation directory. That entry is followed by a list of every item in the product. That is the info that is shown in the "Installed Files..." popup, so the drive and path must match the actual content location.
I went through this exact process when I moved the library to another drive (something that comes up here at least once a week). Moved all the library files, changed the installation folder (it wasn't so obvious in the early days) but DIM could not find the installed files with the right-click. There is a mysterious right-click option in the DIM settings on the Installation tab path list (Label | Path | ...) that says "Fix Installed File Registry..." I thought that might redirect DIM to look in the proper location, but it didn't seem to do that (I still don't know what it did). So, I batch-edited all manifest .dsx files to update the value of UserInstallPath to the new installation location, and everything worked perfectly. That last bit seems to be often overlooked.
ETA: I think that updating to the new path can be done withe the "Re-Install Package(s)" right-click option on any installed product. If it works how I would expect it to, it would take note of the new installation path, and look to see if the contents are there already, and just update the status instead of actually uninstalling and re-copying everything again. With that many products, it would seem a waste of effort, and probably take a few hours. The batch-edit takes about 10 minutes.
Thanks for telling me what to check for. Unfortunately, virtually NONE of my DSX files have "UserInstallPath" entries. Here's the fields I've got:
<?xml version="1.0" encoding="UTF-8"?>
<ProductSupplement VERSION="0.1">
<ProductName VALUE="Armchair"/>
<ProductStoreIDX VALUE="57195-1"/>
<UserOrderId VALUE="nnnnnnnn"/>
<UserOrderDate VALUE="nnnn-nn-nnTnn:nn:nnZ"/>
<InstallerDate VALUE="nnnn-nn-nnTnn:nn:nnZ"/>
<ProductFileGuid VALUE="nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn"/>
<InstallTypes VALUE="Content"/>
<ProductTags VALUE="DAZStudio4_5"/>
</ProductSupplement>
If I take a look at the ONE new product I installed, my XML tag is "DAZInstallManifest", not "ProductSupplement". I have "GlobalID", "MetadataGlobalID", "SmartContent", "UserInstallAccount", "UserInstallPath", as well as a LOT of "FILE" tags.
So, your comment is very helpful, but I'm concerned that somehow my DSX files have LOST most of the information they used to contain somehow. I don't think I backed up my DSX files since the time I migrated to my new scheme with eight content install paths. I'd love to know whether "Fix Installed File Registry" can fix this.
I did try "Reinstall Packages" on a few, but that doesn't pick the right content install path. It basically would force me to re-sort my installed content back into the eight different categories. I also have to say that it almost certainly does recopy the actual files.
That's the download manifest, the one that comes with the archive in your Download folder (Package Archive). You want the installation manifest, that's the one DIM makes in the Installation folder Manifest Archive folder specified on the Installation tab. Unfortunately, they have the same file name, IM00000xxxxx-01_yadayada.dsx. (Yeah, it all looks the same after a while...) There should be nothing else in that folder with them.
Thanks!
When I said above that "I located the directory that had my DSX files in it and changed DIMSettings->Installation to point to that directory", of course I made it point to the download manifest, and not the installation manifest.
It turns out, my installation manifest files are *ALMOST* in the default manifest archive directory, but with one subtle distinction that others managing between SSD's and spinner drives can appreciate: same path, but "D" drive instead of "C" drive.
Again, I don't know how my manifest archive directory got changed, maybe I accidentally right clicked on it and unwittingly set "Restore Default". It still looked right to me, only the drive letter was wrong.
However, this whole experience makes me think I've got to make sure I get regular backups of the manifest archive directory because it would be a pain to rebuild. It ought to be possible to have some script in DAZ - which still knew in which content directory every product was actually installed - and somehow help me generate a "Reinstall Package" list for each content directory.
But for now, everything is back to showing up on the Installed tab, and "Show Installed Files" looks good. Thanks again!
Great! Glad it worked out.
Don't point the Install directory to the Manifests folder. The isntall directory is where your content goes, the Manifests folder is where Install Manager keeps track of what it installed.