Using a Setup Project on a Machine Without .NET Installed
<rant>
Today, I setup a VPC instance of XP w/ SP1a (and nothing else) to test an extension of our product that is a Smart Client application. The setup realizes that .NET is not installed and asks if the user would like to install it now. Neat. I clicked yes, only to be taken to this page. I'm sorry Microsoft, but WHAT THE HELL is that?
- That is totally lame that it takes you to a page that says it's been moved.
- These are end users clicking these links. It could be anybody! Why would they want to go to the .NET Developer Center?
- Where in the heck do I download .NET redist from there? I finally found it, but it just says “It is recommended that all general users go to Microsoft Windows Update to install the .NET Framework“. There is no way an end user could figure this out.
- WindowsUpdate? On a new machine there's a lot of critical updates and regular updates to wade through to find .NET 1.1. How many extra steps is this now that the end user of my product has to go through just to get .NET on their machine?
I realize that LH will have it in the OS (thank you sweet jesus) but that is SO far out it's not even worth point out. How do you expect we ISV's to distribute our smart clients? NO, I DON'T think it's a good idea to include the Framework with the setup (let alone trying to figure out how to do it with what's built into VS today anyway).
</rant>
Ok, now that I have that out of my system, how's about we just tweek the setup a bit so it takes the user straight to download .NET (as one would expect it to :P).
If you want to do this yourself, just go into the setup project file (.vdproj) using notepad (or whatever you like) and go down to the DeployProject -> Deployable -> ExternalPersistence -> LaunchCondition and under there you should see the Url that it points to when they say Yes. It currently points to http://go.microsoft.com/fwlink/?LinkId=9832. BAD LINK, BAD...BYE BYE! Change it to this: http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&DisplayLang=en YUMMY! Recompile your setup and let'er fly! Next time a user runs your setup, they should be taken right to the redist (until Microsoft decides to change their links, AGAIN :P).
Another option is to just flat out tell the user they don't have the framework installed from say, an ASP.NET page and give them the link to the redist before supplying them with the link to your setup.
I'm not usually much of a ranter, but this one really amazed me! :-|