msi

Problem deploying DLLs to the GAC in a Visual Studio Setup Project

"Assembly [AssemblyName] must have a shared name to be installed globally" I am getting this error message when I try to deploy some component DLLs for my application to the Global Assembly Cache. What is a shared name and how do i make sure my DLLs have one? ...

Why is the application size in Add/Remove Programs increasing each time my app is uninstalled and reinstalled?

It's a WiX MSI installer and each time I uninstall and reinstall it in my virtual machine environment the size reported in Add/Remove Programs gets bigger. It's up to 200MB now when the installed files are only just over 30MB. Any idea how this could happen and what I might be doing wrong? Edit: Not using any custom actions, and I don...

How do I write custom action DLL for use in an MSI?

This is a question I intend to answer myself, but please feel free to add other ways to accomplish this. I was packaging an application for use on a wide variety of configurations, and I determined that the most reliable way to perform custom logic within my MSI would be to write my own custom action DLL that would be able to read/writ...

I require a MSI Custom action that copies a file from the MSI source directory

Hello, I'm creating a installer for a c# windows project using VS 2008. I'm trying to write a custom action that copies a settings file from the source directory of the MSI file stored on a file server (e.g. \server\fileshare\myappinstaller\mysetting.xml) to the target directory on the computer on which my application is been installed ...

Visual Studio 2008 Service Installer Project Upgrade issue

I've upgraded a [.vdproj MSI generator project built into VS2008] System.Configuration.Install.Installer with a ServiceProcessInstaller and a ServiceInstaller from Visual Studio 2005 to 2008. There are no customisations of consequence to the installer class (i.e., not trying to start or stop services or register children) RemovePrevious...

How do I install a .NET DLL into a COM+ application using MSI (WiX)

Update: looks like this is indeed a WiX limitation - Cannot add 64bit com+ component (3.0.3907.0) I have a .NET application with an MSI installer created using WiX 2.0. The installer creates a COM+ application (amongst other things) and installs a .NET assembly as a component into this application. This DLL is pure managed, however it c...

Access 2007 Engine: How do I include it in my .msi installer?

Hi guys. I have a .NET application which uses an accdb file (MS Access 2007 format) as its database. To install this app on another machine I need to install the Access engine on that machine. Microsoft has this file: AccessDatabaseEngine.exe which includes the engine, but when extracted during installation, runs another .msi installer....

Problems installing .NET Services from InstallShield 2009 MSI - Custom Action did not close 1 MSIHANDLEs

I am using InstallShield 2009 to generate an MSI for a codebase I have inherited. The code is comprised of VB6, and .NET 2.0 code (C# and C++). I'm developing and installing on Windows XP SP2. I created the Install Shield project (call it "MyClient.ISM") by reverse engineering it from the MSI provided by the previous team. Their configu...

How to schedule a deferred custom action from an immediate custom action in Wix/DTF?

I've seen statements to the effect that it is possible, even commonplace, to reference an immediate custom action from a .wxs file, and to have that custom action schedule subsequent (deferred) custom actions. What I don't know is what the code looks like that does this. Anyone? ...

WiX generated MSI is not compressed

I use WiX3 to generate MSI installation package. I have specified comression flag on in both the <Package> and <Media> elements: <Package InstallerVersion="200" Compressed="yes"/> <Media Id="1" Cabinet="MySetup.cab" EmbedCab="yes" CompressionLevel="high" /> but the resulting MSI is not compressed at all - WinZip compressed it from 2M...

Uninstalling a Windows app installed by a nonexistent user.

We have a .Net Winforms app running on XP machines that are not connected to the internet. We install and update this app by distributing a CD with a .MSI installer file. Users uninstall the old app from the Add or Remove Programs control panel and install the new app from CD. A while ago we required users to log in under individual acc...

Execute process as normal user from MSI (wix) under different context

I'm trying to configure an installer for some software we use within the company. The installer is pushed out to target machines via SMS, and it performs the following steps: Terminate any currently running instances of the app (the app is a utility, so this isn't an impact on the user). Remove the previous version. Install the update...

Problem pushing MSI via SMS to hosts that have Windows XP SP3 installed

I've created an MSI that installs our application. It installs fine if you run it locally on a machine with Windows XP SP2 or SP3. If you run it through SMS to a machine that has Windows XP SP2 it installs fine. But, if you try to run it through SMS to a machine that has Windows XP SP3 it seems to stall and take hours. (It only takes a c...

Get install date from managed code

Is there a managed API to retrieve an application's install date using the Product GUID? Thanks. Scott ...

Installing .NET Framework with my app using MSI

I have created a setup project in VS2008. My WinForms app uses .NET 2.0, so I chose .NET 2.0 Prerequisity and built the setup project. When I run my Setup.msi on a clean PC, it correctly detects that the .NET is missing and asks if it should be installed. After a successful installation of the .NET, the installer simply exits and doesn'...

homesite attribute for .NET 2.0 SP1 aka download location for installers

When including .NET 2.0 as a dependency in a setup project, the project is able to automatically download .NET 2.0 from the web if the machine needs it. The attribute that tells the setup project where this download location is does not seem to exist for .NET 2.0 SP1. Does a 'homesite' location exist for .NET 2.0 SP1? It makes the d...

windows installation hang

How can I find what's hanging all new installations on a Windows box? While testing an installation script on Windows (XP Pro, if it matters) I've run into a situation wherein any and all attempts to install anything on the system hang waiting on who knows what. When the system is restarted, all queued up attempts at installation then g...

How: MSI for multiple websites WITHOUT custom actions

I would like to create an installer that installs 6 websites, all of which rely on a data access library. So the solution contains 6 web applications, and 1 class library. Question is: how can I accomplish this without using custom actions? So far, the only thing i've thought of is to make merge modules out of the web app projects, ea...

Uninstalling an MSI file from the command line without using msiexec

msiexec is a command prompt software that installs an msi program. But I have found that you can install an msi file from the command line by just typing in the name of the msi file on the command line. But in order to uninstall the msi file, it seems you have to call the msiexec program and give it an /x or /uninstall. Does anyone kn...

How to make better use of MSI files.

As you might know, msiexec is a command line app that you can use to install an MSI file. As you might know, you can run it in silent or invisible mode. My question is this. If the installer requires the user to answer specific questions about what parts to install, is there some way that I can put in the msiexec command line a ser...