msi

What is the best choice for building Windows installers?

I have primarily used Visual Studio 2003, and its tool for building an installer was pretty painful. Files and folders had to be added manually, one by one. I am looking at upgrading to VS 2008, and I'm not sure what its installer is like. Also I'm interested in installers for non-.net applications. Are there good, open source opti...

Visual Studio Setup Project Custom Dialog

I have created a custom dialog for Visual Studio Setup Project using the steps described here: http://www.codeproject.com/KB/install/vsSetupCustomDialogs.aspx?fid=419622&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2640482&fr=26 Now I have a combobox in one of my dialogs. I want to populate the combob...

Call Project Server Interface web method from an msi installer

I'm using a Visual Studio web setup project to install an application that extends the functionality of Project Server. I want to call a method from the PSI (Project Server Interface) from one of the custom actions of my setup project, but every time a get a "401 Unauthorized access" error. What should I do to be able to access the PSI. ...

Pushing out MSI files

I have a product which has been traditionally shipped as an MSI file. It is deployed through some sort of SMS push to thousands of desktops by our various clients. The software we use to create these installers is getting long in the tooth and we are looking to replace it. We have already standardized on InstallAnywhere for most of ou...

stopping MSI from launching an EXE in the SYSTEM context

Ok, I've got a problem here with an MSI deployment that I'm working on (using Installshield) we have a program running in the background that needs to run per-user, this needs to start automatically without user intervention. The problem is with GPO/AD deployment the application is started in the SYSTEM context before anyone is logged ...

MSI Installer fails without removing a previous install

I have built an MSI that I would like to deploy, and update frequently. Unfortunately, when you install the MSI, and then try to install a newer version of the same MSI, it fails with a message like "Another version of this product is already installed. Installation of this version cannot continue..." appears. The MSI was built with a Vi...

What does the EXE do in the Visual Studio setup project output

We are working on a winforms app in Visual Studio 2005 and the setup project we created output both an MSI and an EXE. We aren't sure what the EXE file is used for because we are able to install without the EXE. ...

What can cause .NET assembly registration to fail?

We've seen an issue where one of our installers (msi) returns the error code 2908, which is used to indicate that an assembly failed to register. Later in the installation, we get the following (sanitized) error: MyAssemblyName, version="1.0.1.1", culture="neutral", publicKeyToken="119EFC79848A50". Please refer to Help and Sup...

.MSI Not Always Uninstalling Previous Versions

In a number of applications we create an MSI Installer with the Visual Studio Setup Project. In most cases, the install works fine, but every now and then the previous version was not uninstalled correctly. The user ends up with two icons on the desktop, and in the Add/Remove program list, the application appears twice. We have yet to fi...

Make wix installation set upgrade to same folder

How can I make a major upgrade to an installation set (MSI) built with Wix install into the same folder as the original installation? The installation is correctly detected as an upgrade, but the directory selection screen is still shown and with the default value (not necessarily the current installation folder). Do I have to do manual...

How do you find out the ProductCode from a .Net Installer class custom action

I need to know the application's ProductCode in the Installer.OnCommitted callback. There doesn't seem to be an obvious way of determining this. ...

Is it feasible/sensible to wrap an InnoSetup installer inside an MSI for easier distribution via AD?

Our installer is written with InnoSetup and we are actually quite happy with it. Yet some customers keep asking for an MSI installer which they could more easily distribute via Active Directory. We have already gone to some lengths to make the installer deal really well with automated and unattended installations by extending InnoSetup's...

Can a .msi file install itself (presumably via a Custom Action)?

I wand to construct an MSI which, in its installation process, will deploy itself along with its contained Files/Components, to the TargetDir. So MyApp.msi contains MyApp.exe and MyAppBootstrapperEmpty.exe (with no resources) in its File Table. The user launches a MyAppBootstrapperPackaged.exe (containing MyApp.msi as a resource, obtai...

Displaying the correct size in Windows' Add/Remove Programs

I have a need to manually setup the registry settings for an entry in Window's Add/Remove Programs (for XP and Vista). Everything works except for the displayed size. According to this 2004 post by Raymond Chen it should be possible by setting the EstimatedSize registry value but it doesn't work. This more recent MSDN page says the Es...

How to add a version number to an Access file in a .msi

I'm building an install using VS 2003. The install has an Excel workbook and two Access databases. I need to force the Access files to load regardless of the create/mod date of the existing databases on the user's computer. I currently use ORCA to force in a Version number on the two files, but would like to find a simpler, more elegant ...

MSI installer: Adding multiple properties to SecureCustomProperties

I'm looking for a way to add multiple properties to the SecureCustomProperties value in my .msi installer's property table. I've tried comma delimiting, semi-colon delimiting, and even space delimiters. None of the above seem to work. Hints? ...

How to refer to the path to an assembly in the GAC within registry entries added by a Windows Installer package?

I have a .NET assembly that contains classes to be registered as ServicedComponent through EnterpriseServices (COM+) and invoked through COM RPC by a third-party application. Therefore, I need to both add it to the GAC and add a registry entry under HKEY_CLASSES_ROOT\CLSID\{clsid}\CodeBase with the path to the assembly DLL within the GA...

How to implement WiX installer upgrade?

At work we use WiX for building installation packages. We want that installation of product X would result in uninstall of the previous version of that product on that machine. I've read on several places on the Internet about a major upgrade but couldn't get it to work. Can anyone please specify the exact steps that I need to take to a...

How do I deploy registry keys and values using WiX 3.0?

If I want to create the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MyApp with the string value EventMessageFile : C:\Path\To\File.dll how do I define this in my WiX 3.0 WXS file? Examples of what the XML should look like is much appreciated. ...

How to replace a file in a msi installer?

I want to replace a single file inside a msi. How to do it? ...