How to Add Command Line Support with Your .MSI

One of the requirements in building setups was to allow the Operations team to execute the .msi file from the command line. GUI is not for expert! 🙂 If you are familiar with Visual Studio setup, each of the UI element has a property, and you pass this property to your custom action, or use…


CustomActionData and User Defined Path

When designing a setup project, you can define text boxes dialog to input a file system path. To process the input that the user has entered, usually a custom action is created to handle the user input, and the user input is passed through CustomActionData property. Unfortunately, there are several problems when dealing with path….


How to Build TFS Build Locally?

If you need to test your TFS build after playing around with the TFSBuild.proj, you can do that by do the following: Synchronize the source control to your workspace. Open Visual Studio 2005 Command Prompt (or Visual Studio 2008 Command Prompt), located under Start>Microsoft Visual Studio 2005>Visual Studio Tools. Change the directory into your TFSBuild.proj….


How to Make Sure InstallState Files Are Removed After Uninstall?

If you are building setup using Visual Studio and you have several custom actions and you noticed you see one or more .InstallState files in the target path after uninstall, most likely you have added your custom action to the Install custom action, but nothing else. What you should do is to add the same…


How to Correctly Pass TARGETDIR to A Custom Action?

If you have a custom action setup, passing TARGETDIR to the custom action, and suddenly you are experiencing weird error, you may have incorrectly passed the TARGETDIR. Sometimes the Event Viewer have this entry: The description for Event ID ( 11001 ) in Source ( MsiInstaller ) cannot be found. The local computer may not…

Having Fun with VS Setup Project – Database Deployment

I was given a new task, to create an installer for internal use. I wrote installer before, but it was three years ago, a lot of things have changed. One of the installer task is to create a sql server db using a script. After much reading, searching, and testing, I got into this msdn…