ISWIX, LLC View Christopher Painter's profile on LinkedIn profile for Christopher Painter at Stack Overflow, Q&A for professional and enthusiast programmers

Thursday, November 8, 2012

Windows 8 Changes Setup Developers Need To Know About

I've been using Windows 8 for awhile and I like it a lot.  I can't say I liked the new Start Screen at first but it's grown on me.  There is room for improvement though.

Anyways, back to installs  Here's a short list I have for the moment and I'll come back and grow it as more things occur to me.

1) The Change UAC Settings dialog doesn't really disable UAC.  You'll find your command windows aren't elevated and that you get UAC confirmation when updating files in the Windows directory.  To completely disable UAC you have to go into the registry and change the EnableLUA policy registry value from 1 to 0 and reboot.  I'm not saying you should do this, I'm just saying that if you *STILL* aren't creating installers that follow best practices with regard to custom action scheduling and execution context  you really, really need to get on board.  (Ahem Visual Studio Deployment Project users ).

2) .NET 2.0/3.0/3.5 is not installed by default.  If you are using managed code such as custom actions that don't have an activation policy manifest that allows the use of newer versions of the framework they will blow up.  (Ahem Visual Studio Installer Class Custom actions users)

3) Installing .NET 2.0/3.0/3.5 on Windows 8 is a pain in the back side.   You can't use the EXE redist, you have to use a dism command to enable the feature.  However,  Microsoft didn't include the bits in the install.wim so it has to be able to go out to Windows Update and download source. In other words it's  web/wsus enabled (via the OS) install only.   There is no standalone installer (MSU) that I'm aware of.    This is a sore spot and is best cured by moving your code forward to .NET 4.0 or beyond.

4) The new start screen shows all icons by default.  The user can create groups (think groupbox )  but they can not create subfolders and zoom into to see the icons.  In other words,  if your installer creates a bunch of icons and you thought that was ok because you were putting them into subfolders to hide them, they will all appear and the user will have to unpin a bunch of shortcuts to clean up his desktop.  (InstallShield, Visual Studio...  lots of icons )   To prevent your installer from doing this, set the System.AppUserModel.StartPinOption to 1 using the MsiShortCutProperty table.


Those are my three biggies so far.  As I discover more, I'll keep you posted.

Saturday, November 3, 2012

Help Wanted - Austin, TX or Atlanta, GA