MSI installer when .NET Distribution is involved

MSI installer when .NET Distribution is involved

Hi, We are using a license for the AppAble Component from BaKno Games as provided by Intel to produce a .NET app for AppUp. Now we are unsure as to how the installer should be built, so that we can ensure that it both remains a silent installer and installs the needed .NET dependencies if they are missing. What is the preferred way to do this? Thanks, Aaron
11 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

As a side note, there are guides around the web on how to bundle .NET with your installer, but they all seem to ultimately end in creating a setup.exe based installer, not an MSI installer.

Aaron,

You are correct in that your MSI may not prompt the user with any dialogue boxes. Thankfully the answer is quite simple: By default a Visual Studio Package and Deployment solution will specify .NET 3.5 as the required .NET runtime. Simply change this to 3.0 or 2.0. Windows XP SP3 and Windows 7 will have .NET 3.0 installed, so there will be no need to package the .NET runtime in your MSI.

Aaron,

Our first app just got published called 'Holidays & Festivals', we used 3.5. We deliberately made choice of using 3.5 instead of 4.0 as I thought it may be not be available on user's machine.

So my guess is if you use 3.5, you should be ok. No need to do anything to include .net framework.

Hope it helps.

Sachin,

Thanks for the feedback. That is an interesting validation experience. I have setup a few virtual test environments, and I have found that no out of the box Windows XP SP3 installs have .NET 3.5. If you run the optional Windows Updates, then that solves the issues. I wonder if the Validation Team has begun running all Windows Updates prior to testing.

Brian,

I will have to test this again, but I think when I first tried to install App Store client on a machine not having .net framework 3.5 installed, it gave a message that you need to install 3.5 first. If that's the case then I think using 3.5 is a safe bet. As an app can only be installed using app up client and app up client requires .net framework 3.5.

Have you tested this?

Regards,

Sachin Palewar
www.palewar.com

Sachin,

You are correct that the MSI will prompt you to download the 3.5 runtime. The potential problem with this is that the validation guidelines state that you must not prompt the user during the MSI process, and that the MSI must contain all required libraries. If app submissions are passing validation in this case, it is news to me :)

Hi Brian,

I was not talking about App MSI prompting for 3.5. I was saying that AppUp client prompts for 3.5 installation.

http://communities.intel.com/docs/DOC-4664#Intel%20AppUp%20Center_724248 This link also mentions WinXP with 3.5 SP1 installed and I guess Win 7 comes with built-in .NET 3.5 so I think there is no issue with using .net 3.5 as of now.

One should not use .net 4.0 at this stage though.

Regards,

Sachin Palewar
www.palewar.com

PS: I don't get notifications when somebody responds to my comments. Do you get notifications? Makes it difficult to check every topic manually for new response.

Sachin,

Thanks for clarifying. No, i do not receive emails for updated threads. That would be a handy feature.

Hi there,

Just out of interest there may another solution regarding any apps that may require .net 4.0

Possible solution: if a user doesn't have .Net 4.0 on PC, the app can give a message that the program requires .Net and a link to Microsoft, this will be just a message after which the installation process will be interrupted, or we can submit exe with .Net default installation.

Colin,

Unfortunately any dialogue presented to the user requiring input will result in a validation failure.

What you may be able to do is create a stub exe built using .NET 3.5 which checks the version of .NET installed upon startup of the program. This stub could direct the user to install the .NET 4.0 runtime from a local redistributable on disk. Care would need to be taken to ensure the primary exe is protected by the AppUp SDK.

Leave a Comment

Please sign in to add a comment. Not a member? Join today