1
votes

I am using Visual Studio 2010 to create an .MSI installer.

When I build the .MSI and "install" it, everything "appears" to work, except that it always installs everything in the root directory of the C: drive, no matter what I choose in the initial dialog.

I am at my wits end. If there is an "error" encountered by the installer, I can I find out what it is?

3

3 Answers

1
votes

You can start by logging your installer. Windows Installer has a Directory table and a process called costing that resolves these entries to file paths. When this process goes wrong a directory will typically default to the root of your largest drive.

I'd have to look at your installer, test it on a VM and read the logfile to give you a more exact answer.

0
votes

I suspect this happens when a limited user tries to install a per machine (Everyone) install. The user isn't admin, so it turns into a per-user (Just me) install going to those directories.

0
votes

Judging from your profile page I'd say you are better off trying out WIX to create your setup. Most developers find this tool much more intuitive than other ways to create setups, though there is a bit of a learning curve. It's XML based and compile to MSI binaries. I suggest this because Visual Studio installer projects are extremely primitive and error prone.

Here is a quick, sample based tour that I think makes it easy to get started quickly: http://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with .

Here is an online tutorial: http://wix.tramontana.co.hu/

Wix is really hands-on, and you get a lot done quickly by understanding a few examples. See my answer in this thread for a few links on how to create upgrades: Wix generate single component id for entire tree

Chris Painter (who incidentally also answered your question above) has made a Wix tool called ISWix that might help you make a Wix installer quickly: https://iswix.codeplex.com/