Windows installer 3.1 - c#

Visual Studio 2005
I have developed an application using C#. I have created an setup application, and included the .NET Framework 2.0 on the CD.
I am not using ClickOnce.
However, one of our clients is complaining that they cannot install as it's asking
for Windows Installer 3.1. However, I didn't exclude that from the setup project.
To do a complete test I decided to install some VMware that didn't have the .NET framework or Windows Installer 3.1 (just a skeleton Windows XP). The application installed OK.
What is the Windows Installer 3.1? And why do I need it?

Windows installer is the software that is able to run MSI files. It comes (in some version) with Windows (starting in Windows 2000 SP4). In each MSI file, the minimum installer version is defined; installer will complain if the MSI is "too new". The Windows SDK has a table showing what installer versions where included in what Windows releases.
You can get the 3.1 redistributable from Microsoft.

You need it to install .NET framework 2.0.
Please check this download link.
Its System Requirements says:
System Requirements
- Required Software:
o Windows Installer 3.0 (except for Windows 98/ME, which require Windows Installer 2.0 or later). Windows Installer 3.1 or later is recommended.
o IE 5.01 or later: You must also be running Microsoft Internet Explorer 5.01 or later for all installations of the .NET Framework.
EDIT : You can make sure in your setup project that all the prerequisites for your project exists in your Setup Package. You can find a step-by-step how-to in this CodeProject article..

Related

.NET Desktop Runtime is required before installation

I've developed an application in .NET 5.0, also, I've a Setup Project to install this application in my clients.
My steps are:
1.- Publish the .NET 5.0 Application.
2.- Compile the Setup project.
3.- Install the setup.exe generated in "2" in the client.
But when I try to install the program in my client, windows says "This installation requires the 5.0.0(x64) version of .NET Desktop Runtime... So I've to download and install the SDK in every client.
My question is: There is some way to avoid this SDK installation? Can I embeed the .NET Desktop Runtime in the .NET 5.0 App or in the Setup Project?
Thanks in advance.
See .NET application publishing overview, specifically publishing a self-contained application. That way all necessary framework files will be included in your application, and you will not the framework to be installed. This will increase the disk requirement a bit if .Net 5 is already installed, since some files will be duplicated.
The alternative is to bundle the the .Net framework installer in your installation script. This will cause the setup-file to be quite a bit larger, unless the script downloads the framework on demand. But it may save some disk space in case there are multiple applications that use .Net 5.
Go on projet Menu/ projetct properties / publish / require components / uncheck you frameWork .

Bundling .NET Framework with Winforms app

I have a Windows Forms app that is deployed using ClickOnce deployment. I'm using another Winforms project to customize the installation steps. So I would have to distribute the executable (of the installer project). Is there anyway to bundle the .NET framework 4.0 with the executable (either standalone or web installer) or should it be downloaded and installed separately?
Thanks.
dotNetInstaller is a "bootstrap" that can install dependencies, including the .NET framework, before launching the target application/installer.
dotNetInstaller enables the developer to define the application prerequisites and install the correct version(s) of these components in a predictable order based on the processor architecture, user operating system type and language, allow the user to download these components from the web, install these components directly from a single packaged setup, local media or both ..
A boostrapper doesn't replace tools like InstallShield, Wise, Visual Studio Setup and Deployment Project or Wix. The goal is to create an application to help users with installing the correct prerequisites ..

Error in running c# windows application

I wrote a c# windows application and I want to run it on other computer without any installation.
I setup the netCFSetup v35 but when I run my application this error was apeare :
the application failed to init....
can anyone help me please?...
I think you are installing wrong framework for you application.
Since its a windows application i suggest your install .Net Framework of Desktop. The one you are installing is of Compact Framework (CF in filename netCFSetup v35) which was used for Windows Mobile 6.5 or earlier.
If you created your app in .Net 3.5 version. install this version
http://www.microsoft.com/en-us/download/details.aspx?id=21
To know in which version of .Net Framework your app is written in, go to properties section of project. There you will get your version number.

Compatibility problems in deploying c# win form application

I am facing a lot of trouble while deploying a windows form application on a CD. I have made the application in .NET framework 2.0 and I want to include the setup for the framwork with the installation disk. The application is to run on WindowsXP(damn, user requirement). I tried deploying it with 1 click deployment in VS2010 but the setup does not run on winXP.(Error-.NET framework 4.0 required to run the application). Is there any way of deploying the app which can run on winXP(.NET 2.0), win7(.NET 4.0)-32 bit as well as 64 bit environment.
A 32 bit app will run on 32 or 64 bit operating systems.
A .NET 2.0 application will run on .NET 2.0 or .NET 4.0.
Sounds like your installer is the only dependency on .NET 4. Check the publishing prerequisites you have set on your project.
Visual Studio 2010 doesn't provide a .Net 2.0 pre-requisite for deployment projects. A MSDN support rep explained (?) this in this question:
In VS 2010, it doesn’t support you to set .NET Framework 2.0 as
prerequisite. You can set .NET 3.5 SP1 client profile instead.
Although your application is still build target to .NET 2.0, .NET 3.5
client profile is a light weight .NET framework run time which
supports to run .NET 2.0 based application. So Microsoft removes .NET
2.0 from the prerequisite list.
There's a solution though in that thread:
If you take the .NET 2.0 package from the VS2008 bootstrapper packages
folder and copy it to the corresponding location for VS2010, it works
fine. I tested it in a virtual machine running Windows XP and no .NET.
On Vista or Windows 7, the VS2008 packages are here:
c:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX (this is .NET 2.0)
On Vista or Windows 7, the VS2010 packages are here:
c:\Program Files\Microsoft SDKs\Windows\v7.0A\BootStrapper\Packages
See the other posts in the thread for more detail.

Install (activate) .NET 3.0 Framework with an application in Vista

if i have an application that requires .net 3.0, what is the proper way to make an install file out of it, that will install the application and then install (activate) the .net 3.0? i tried publishing my project through visual studio 2008 (c#) which created the installer and the .net activator, but it didn't work properly on computers other than my own, when the .net 3.0 was not present.
i though i could bundle http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en with the application, which would download and install .net 3.0 if needed. this could work ok on non-vista systems, but on vista, the redist package reports an error: you must use turn windows features on or off in the control panel to install or configure microsoft .net framework 3.0
The key is to install the .net framework if it is not there - regardless of the OS. Also, just go ahead and install the .Net 3.5 framework if you are going to install one of them.
Anyway, if you are using the built in installer that comes with Visual Studio, this is a real pain in the butt. You would be better off, and saner if you went with a different installer package. Install Shield, Wise, InstallAware will all do it for you. I believe you can also find better guidance on how to do this with Wix and NullSoft Installer.
http://www.improve.dk/blog/2007/06/10/creating-a-dotnet-bootstrapped-installer-using-nsis
How can I detect .NET 3.5 in WiX?
Windows Vista has already .NET Framework 3.0 installed.
Now if you wanted for example to have .NET Framework 3.5 installed you could create a Setup Project and then right click and go to View->Launch Conditions. There will be a .NET Framework launch condition where you can specify the required version of the framework and an URL to download from.
Here's a post about Launch Conditions in a Setup Project.

Categories