How to customize an installer's UI - visual-studio

I am building an installer for my windows app and have done this through a setup/installer project in visual studio.
I was wondering how to customize he UI of the finish dialog box? I want to add a couple of check-boxes and launch an app after the user closes the finish box.
Is there a way to do this in Visual studio itself or does it require any other tools? If other tools are required then are any of them free?
Thanks
Kapil

Visual studio deployment projects give you some standard templated dialog boxes.
If none of these templates meet your requirements, you can create your own custom UI and use an installer class to control the workflow.
To launch an app at end of the installation you would again probably have to override a method in your installer class.
If all this seems like hard work, it's certainly worth looking at something like INNO Setup or WIX.

Inno Setup is free and has the ability to run things when the install is complete.

Related

Selectable components in Visual Studio 2013 Setup Project

I have created a Visual Studio 2013 Setup Project that installs a Windows Service. Everything works fine up to now, but I need to add an additional component to the installation. This component should install if the user wishes, so, I need something like a selectable component that the user can check its installation if it is desired. I searched the web but not happy results, I don't know if it is possible to do with the Basic Visual Studio Setup Projects Template. I need to know if it is possible, or if I need to move to other Installer's maker like Wix or Installshield. If it is possible, please explain how to achieve it. Thanks

How to open a web page at the end of installation using visual studio C ++ deployment?

Is there any way in visual studio 2010 C++ setup deployment to open a webpage at the end of installation?
I can do this with Inno Setup, but I don't want to be in trouble with another setup.
I simply want to link a webpage in Visual Studio Setup Deployment that should execute after the installation get done.
Thanks a lot.
You can't edit the existing dialogs in a VS setup project, so I suspect you need a custom action (program) that does an "open" on the URL, and that will launch the appropriate browser. You probably need to make that asynchronous because installs generated by VS setups wait for the custom action to finish, so be sure to finish the program.

How do you run custom code and display a dialog box when using Visual Studio installer?

Looking at VS2010 installer I saw a way to hook in macros and created a test macro but my test macro didn't show up in the list. I also briefly tested InstallShield LE but it didn't meet all my requirements and I went away for a couple of days and when I returned it said the project had expired. This is a simple one-off install so I'd rather not spend the $$ for InstallShield pro.
What is the best way to call some custom code and display a dialog box pre/post install within VS2010 or VS2008 installer?
Visual Studio setup projects do not support this. To use custom actions before or after the actual installation you can use a different setup authoring tool.
If you want a free solution you can try WiX. It has a steep learning curve, but it gets the job done.
For commercial tools you can see this list: http://en.wikipedia.org/wiki/List_of_installation_software
This isn't a really scalable solution per say but a useful hack when you don't want to spend money for the full featured tools. You can build your MSI using a Visual Studio Deployment Project or InstallShield LE project and then use post build steps to perform automation to modify the MSI to do things it wasn't authored to do.
If you understand the MSI table data you can edit the MSI in Orca, create a transform, author your dialog and then generate the transform file. Then everytime you build your MSI you just use a postbuild command to apply that transform to your MSI as if VS authored it.
You might, cough cough, be able to find someone around here to help you do that on the cheap.

how to add logic to msi installer

I have a Setup Project in Visual Studio 2010 which creates a .msi installer. I am wondering if it is possible to add some logic to check some conditions. e.g if there is my software installed yet.
Thanks,
This is done through installer properties. You can set them and check them against values. They are just like variables in code.
However, Visual Studio is limited when it comes to custom installation logic. If you don't figure out how to do what you need, give us more details.
As a side note, launching the installer for an already installed product makes it go into maintenance mode (Modify, Repair and Remove options). So you don't need to check if your application is already installed.
You need to add installer class to one of your library or assembly. In Visual Studio, attach installer events to custom action. See how http://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup---projects-and-custom-actions/ or here http://msdn.microsoft.com/en-us/library/d9k65z2d.aspx

Deployment issue- Need for Cusotm Setup file-VS2010

I have 4 different outlook addins and I want to make it in a single setup file by giving the user the option to select whatever addin they need during the installation.
How can I do this in Visual Studio Tools 2010.
As of now, I have created a setup file, which will install all the 4 addins at one single go.
Any kind of links to these kind of setup, or tips are needed in moving forward this issue.
Visual Studio doesn't support this. You need a setup authoring tool which allows you to use custom features and organize your resources using those features. A dialog editor would also help.
Here is the general approach:
create 4 features, one for each addin
move each addin resources into it's feature
use setup type dialog (Typical, Custom and Complete options) to allow the user to select the features he wants
if the setup authoring tool you are using has a dialog editor, you can use a custom dialog instead of setup type dialog (for example a button for each addin instead of a feature tree)
If you want a free solution, you can try WiX. It has a steep learning curve, but you can do what you want with it. A commercial solution is easier to use, but you have to purchase a license. Let me know if you want some recommendations.

Resources