There is a scenario that can cause a great amount of grief if you aren’t aware of it. And if you are aware of it, it can cause sleeplessness.
I’m talking about the decision to make Powershell a ‘Software Update’, which brings along some delicate issues when you install a Service Pack after installing Powershell. Namely, the fact that you can no longer uninstall Powershell from the Control Panel. This is a design decision by Microsoft and it makes sense for most ‘true’ software updates. You wouldn’t want netapi32.dll being rolled back to an earlier version if you uninstalled a software update in the wrong order.
I just ran into this situation in my production environment. I had a need to install Powershell on a Windows 2003 server and drafted my change management for just that. Unfortunately, I didn’t realize that this server still had SP1. If I install Powershell v1 and someone installs SP2, I’ll be unable to uninstall Powershell v1 if the need arises.
So what do I do? Abandon discretion and install Powershell v1 knowing I could face future problems. Delay the entire project until I can install SP2? or violate custom if not law, but installing Powershell v2 CTP2 which is a standalone installer/uninstaller.
Personally, I’d love to see Powershell *MORE* standalone in nature (even portable!), rather than subject to numerous install/uninstall concerns.
UPDATE: Installing Powershell v2 CTP2 is not an option on Windows 2003 SP1 (it requires SP2). Now I’m well and truly stuck between a rock and a hard place. Jeffery, if you ever see this, please reconsider the update strategy! :)