another install idea, this time for 1.2

Topics: Developer Forum
Jan 17, 2007 at 3:21 AM
i imagine a little application, which would download and silently install powershell and latest pscx if not present on the machine.

it could also contain a gui tool to generate a custom profile.ps1, that would:

1. load pscx snapin
2. set up preference variables
3. run users original profile, if there was one before
4. run selected eyecandy script
5. start transcription, if desired

Jan 17, 2007 at 6:31 AM
I'm not sure I like the idea of 'silently' installing anything. To me, that smacks of trojan, and would make most admins and users nervous.

Make it clear what this installer is doing; ask the user's permission.

Otherwise, having a PowerShell/PSCX co-bundle is a good idea.

In fact, why not go the whole hog and have:

  • install PS if not there
  • install .NET 2 runtime if not there
  • upgrade to Vista if not there.

oh, and make the installer no bigger than 500KB

Jan 17, 2007 at 7:22 AM
I don't like the idea of trying to get too clever with this. I don't think folks would even be looking at PSCX if they didn't already have PoSH installed. I'm also not sure the PowerShell team would like us doing that (especially silently).
Jan 17, 2007 at 7:25 AM
But the number list looks pretty good. However I think I wouldn't bother to ask about loading the PSCX snapin (just do it) since presumably that is why they downloaded this package. You also don't want to overwhelm some folks with too many choices (a favorite pet peeve of Spolsky's). :-)
Jan 17, 2007 at 11:36 AM
i should have been more specific on the quiet install. by silent, i mean user would have to explicitly execute something like "{PscxAutoUpdate.exe -Silent -AllowPowerShellDownload -Pscx:LatestDrop}". the idea is you would execute only a single command on a plain vanilla xpsp2, w2k3 or vista to install the correct build of powershell for the OS, and latest release / source code drop installed. you could keep this single small executable with you profile on an usb flash all the time.

i am also considering (only for the source drops, I'd rather disable this functionality for release builds) an "unsupported power shell manual setup", which would warn user in big red letters not to bring the machine anywhere near microsoft product support then.
you know, i am most of the time running on beta-versions of windows. powershell is distributed as part of the system, but in a separate package (and will stay so until at least Longhorn Server R2 (cca 2009?)). the bad thing is, the new MSU packages are bound to a specific build of windows, thus you cannot install powershell on a particular longhorn CTP, until powershell team makes a release for that CTP.
this unsupported mode would download powershell, extract it to $PSHOME, (add its assemblies to gac, if desired), create HKLM\Software\Microsoft\PowerShell, create an event log, register the file types, and select an RemoteSigned execution policy (since this way, not even the built-in ps1xml files are trusted. maybe we might find a better workaround, but this works for me).

adrianm, i've been considering the .net download too, but since .net 2.0 is already included with the w2k3 and vista, i'm not sure whether its benefits are worth writing the tool in c++.

btw, the snapin would be of course loaded without any questions...