Building an installer that runs another installer - installation

My company has a project for which I've developed an application in c#. I can create an installer for that application. However, the project requires users to install another application built in c++ that has an installer built using Visual Studio 10. Is there a way that I can build an installer that includes installation of the second product before installing my application?

What you are looking for is a bootstrapper or chainer. The WiX Toolset provides this functionality in a tool called Burn. It allows you to provide a single user experience while installing all of your setup packages. You can read about it more in WiX .chm.

Related

Visual Studio Advanced Installer - Install a Windows Service with build transforms

I have a .Net 4.7 application which is developed as a windows service. I have an MSI project which does the installation and there is a post install activation script that also gets executed (manually).
I am trying to replicate the old installer using the Advanced Installer Extension in Visual Studio and cant resolve these issues.
The first one is how do I stop Advanced Installer from creating multiple subdirectories in the target installation location. The install parameters have the Application folder set to [ProgramFilesFolder][Manufacturer][ProductName] however, I am getting [ProgramFilesFolder][Manufacturer][ProductName][ProductName]. I have the project Output under the Application folder in the files and folders tab.
Secondly, how do I install the application as a Windows Service. I can see this in the external version of Advanced Installer when I create a new package, but can't find the settings for the one within Visual Studio for the existing package.
Within Advanced Installer extension for VS you cannot configure the install location template, nor a service installation. As you already noticed those settings are available only in the desktop version of Advanced Installer.
As a workaround you can use the [Edit in Advanced Installer] button from VS and then edit the install location template from Install Parameters view in Advanced Installer desktop app.
Also, while in Advanced Installer desktop app you can configure a service installation as exposed in this tutorial.

How to install VS2013 redistributable along with your app

I build app using VS2013 but it needs VC redistributable installed on target machine to open app. How can I install these along side my app?
For Win32 desktop applications built with Visual Studio 2013, you can choose one of three options as covered on MSDN:
Have your installer invoke the VCRedist_x86.exe for 32-bit apps, VCRedist_x64.exe for 64-bit native apps, or both if needed.
If you use an MSI-based installer, use the MSM merge modules provided with Visual Studio 2013
You can just copy the needed RETAIL (i.e. non-DEBUG) DLLs into your application folder as part of your installer (i.e. application local).
The first two options are better in the sense that security servicing is handled for the central OS-wide version. The last option doesn't require MSI or admin rights, but means deploying any security servicing updates for the C Runtime is your problem.
For Windows Store apps, Windows phone apps, and Xbox One apps you do not deploy the CRT yourself. It's part of the platform deployment service to do this.

How to create a Installation Bundle Package?

I have an application which require .net 2 and .net 4 framework with adobe reader , i want to install them before software installation, how i am supposed to do this? Kindly please guide me towards right direction.
This is usually done by adding the packages you need as prerequisites for the main installer. Most commercial setup tools support prerequisites one way or another. Here is a list which can get you started:
http://en.wikipedia.org/wiki/List_of_installation_software
Pick a tool and try using it to create your installer and add prerequisites for it. I recommend Advanced Installer or InstallShield. If you want a free solution, you can try WiX.
What you need is basically a suite installation. The link I included shows how to do this with Advanced Installer (Disclaimer: I work on this tool). This is a commercial tool, but it saves you from learning to code Wix/NSIS projects, as it is completely GUI driven, thus you can built your installers without writing any code.
With NSIS as your installer, you can refer to the following pages for help with detecting and installing .NET:
How to ensure a required version of .NET Framework is installed
How to automatically download and install a particular version of .NET if it is not already installed

Installer for an IE add-on and automated prerequisite installs?

I have a project that was given to me where, organically, they created it using Add-In Express and Visual studio. The issue they ran into is that some of the prerequisites needed to be installed before the actual add-in could be installed. So there is a 2 step process. I have some experience with InstallShield and believe my version is 2009. I am wondering if that will handle the install better than add-in express or if I should create a manual package in VS2010. Also, is there a way to silently install the prerequisites?
As a regular .net based application your Add-in Express based solution relies on the .net framework. So, .net framework should be installed on the end user PCs. Your solution may also include a lot of references or dependencies (if any) that should be installed before running the add-in installer.
You may be interested in the Video: Fully featured setup projects for Office solutions article on our technical blog.

Windows Installer: Specifying the install order of prerequisites

I am using the Windows installer that comes with VS2010. This app uses .Net4 and will mainly run on xp machines. It also uses some third party assemblies that require .Net2.
If the pc is using XP SP2 I also need to install Windows Imagining Components.
Selecting .Net2 in the prerequsites will not install WIC and will try to install .Net2 on Windows 7 which casues an error.
If I check the .Net3 SP1 prerequisite this will include .Net2 and WIC. Unfortunately when the installer runs it first tries to install framework 4 before framework 3.5.
Is there a way of changing the order of the prerequisites so that 3.5 is installed before 4?
Here is the method to add WIC to your prerequisites list.
Quoted from above link:
"create a custom MSI Bootstrapper Package for WIC -and- add it as a dependency for the standard .NET bootstrapper package
I've created the bootstrapper and patch for the standard .NET bootstrapper which comes with VS.
Download this self-extracting archive , unpack to %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages, and you're ready to go.
If everything is OK, you should see "Windows Imaging Component" in ClickOnce Prerequisites window. Add it to your project, and it should install fine from now on"
This may solve your problem, because if you select it in the list it will be installed before .Net 4 and there is no need to install .Net 2 beforehand.

Resources