So, I've spent pretty much my entire weekend obsessing about getting the ILM 2 Beta 3 to installs
just right. I'm always after that elusive
perfect install that I can script but I typically don't have the time. I should first thank Jeff Holliday over at
The SharePoint Redemption for putting together a rather slick WSS auto-install script which saved me a ton of time. Jeff is a fellow Solutions Architect at Ensynch and this is something that they do far more often than I. One of the lines in that script (maybe if you ask Jeff nicely he'll post it) is a fairly innoculous:
psconfig -cmd installfeatures
This line handily installs all features present in the Templates directory - we'll discover why this became a problem in a minute.
Our test environment consists of two servers:
-
DB/Sync Tier - hosts the SQL DB's for both ILM Sync and ILM Server portal, and all of the WSS DB's; the ILM Sync app itself (formerly MIIS) is running here
-
Web/App Tier - hosts the App/IIS Roles, WSS Web Frontend, and ultimately the ILM 2 Portal; the ILM Web Service is running here
For whatever reason I could not get this configuration to work and hopefully that will be the subject of another posting (there is a mention of this not working in the documentation but I've never let that stop me); however for the moment I moved everything back to a single server hosting the DB, App, and Web tiers so everything runs on a single box; it's part of a common infrastructure so no DC or Exchange here. After running the ILM Server install with the logging turned on:
msiexec /i ilm-server-64bit.msi /log ilmserverx64.txt
...I get the dreaded
premature failure and this little gem in the log:
Action 8:51:25: StsAdmInstallCreateWeb.
CAQuietExec:
CAQuietExec: Failed to instantiate file "default.master" from module "DefaultMasterPage": Source path "default.master" not found.
CAQuietExec:
CAQuietExec: Error 0x81070587: Command line returned an error.
CAQuietExec: Error 0x81070587: CAQuietExec Failed
Action ended 8:51:32: InstallFinalize. Return value 3.
I should note that at some point the ILM Server package would no longer uninstall cleanly, even after hacking out all physical evidence I could find, uninstalling WSS and so on it would still fail. What was even more bizarre is that prior to running the install for ILM Server I would see this in the Site Features screen for the root site:
So, if I hadn't yet installed the server where was this little guy coming from? Well, a search for MSILM2 turned up the following stowaways - note the directory the last two are under:
Yes, they are under the FEATURES directory and remember that innocuous line I mentioned at the start of this? Well, pop that back to the top of your stack because that little command installs all features it finds present under that directory path. Since the folders were still present it was installing the feature prematurely and causing the installer to fail. So, if you find yourself in this unfortunate situation, here are the commands you need to run to remove the feature:
cd /d C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN stsadm -o uninstallfeature -id 2E279CD0-C88F-43d8-B3DE-CE333D8FBCFA stsadm -o uninstallfeature -id E2383F3D-7C1C-4368-B91B-5567684B464B stsadm -o uninstallfeature -id 5B69107E-DCE0-4f49-80A2-24B78C202CE3 stsadm -o uninstallfeature -id 8ECFC16B-5E2D-4a82-9BD2-31F73C8FF058
|
That will get rid of the features and prevent you from having to blow away WSS again. Once you've removed the features you should delete the four MSILM2* directories I pointed out earlier just to be safe. Now re-run the ILM Server install and at least in my case I finally got a success. I have also seen the WSP solution get stuck and I've had to manually remove that from the site as well.
See
Craig, we all make mistakes! Didn't I ever tell you my story about when I deleted 9,999 production AD accounts on a Friday afternoon?
My feedback for the PG is that the installer needs a lot of work still. I seem to break it more often than not and it simply won't come out cleanly. Also, in all cases,
we desperately need an unattended option for scripting these installs. Without exaggeration I probably did the install/uninstall/install trio about 30 times so far this weekend and typing the same info in every time is really tedious.
EDIT 8/26/08: I updated the stsadm script to include all features.