Don’t you just love strolling along merrily on a friday afternoon, thinking “My, the weekend is right around the corner, I believe I shall sup on crumpets and tea”, when you step right through a soft spot on the ground in fall into a viper pit?
Ever seen this error before:
(The blackout is to protect the innocent <g>)
It’s an MSI 1327 Error Invalid Drive, indicating (surprise) that a specific drive is invalid.
Basically, I got it while testing the install of an application I’m working on.
Many Google searches and a call to MacroVision later, and I still didn’t have much of an idea what was going on.
The drive letter in question WAS valid at the time I did the original administrative installation, but was no longer valid when I performed the client installation from the admin install.
To sum up:
- Map a folder to DRIVE X
- Perform an Administrative Install of your app to Drive X
- Unmap Drive X and remap the same folder to Drive Y
- Perform a client install from the administrative install that is now on Drive Y
- BOOM goes the dynamite
Even more interesting, I tried the same installation steps, but didn’t use a mapped drive. Instead, I used a UNC network path name, and then forced that network share to become invalid. I got a 1606 “Could not access Network location” message. Different error, but the same problem.
I turned on verbose logging for MSI and it recorded that the error occurred during the CostFinalize event. That event validates all folder entries stored in the Directory table in the MSI, but a quick perusal of that table revealed no references to the (now invalid) drive letter.
Macrovision support suggested trying the client install on another machine, which I did and got the exact same error.
Then, on a whim, I simply mapped a folder to that drive letter (the one in the message). Any folder, some share out on the network, didn’t matter what.
Viola! She workee!
Long story short, apparently MSI takes a snapshot of the drive (mapped or UNC) when you perform an administrative install. Then, when you attempt a client install from that admin install, if the drive that was in place at the time of the admin install doesn’t exist, you get the 1327 error (or if you used a UNC path, an error 1606). From what I can tell, though, it doesn’t actually use that drive for anything.
If you used a mapped drive, just creating a mapped drive with the same letter is enough to make MSI happy and continue with the client install.
If you used a UNC path, things aren’t so rosy. In fact, I haven’t found a recovery for this situation yet, though I suspect one is hiding under an MSI boulder somewhere…..waiting……