Search code examples
visual-studio-2010windows-installer

Visual Studio 2010: Windows Installer using msiexec.exe returns MSI Error 2727


I've got a Visual Studio Setup Project that uses the msiexec.exe file to create an Uninstall item as outlined in >> THIS << article on SO.

The Installer does not run.

When I launch the installer by double-clicking the setup.exe file, the "Please wait while setup launches" screen barely blips on the screen before I am confronted with my error.

Error Code 2727

The Text is (for search functions):

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2727.

I have found a set of MSI Error Codes, and Error Code 2727 translates to

The directory entry '[2]' does not exist in the Directory table.

Could someone guide me towards fixing this? What should I do?

[UPDATE]

At the suggestion of Cosmin Pirvu, I have created an error log for my installer. After looking it over, it appears my installation error could be the result of having a link to the Not Installed file msiexec.exe that I use in conjunction with my Project's [ProductCode] to create an Uninstall link.

The log file shown below appears to indicate that my installation fails when the installer attempts to create a temporary file for msiexec.exe, then it has another failure when it tries to display the Error Icon.

The file >> install.log on Google Sites << is my Error Log file's output (Hint: just do a search for Return value 3 to get to the errors).

[UPDATE 2]

I have an Uninstall link in the setup project that links back to the batch file uninstall.bat in my main project:

@echo off
%windir%\system32\msiexec.exe /x %1

The Arguments to the Uninstall link is only [ProductCode], since the /x switch is hard coded into the batch file.

[Solution]:

The Visual Studio Installer was not creating a folder that had some required DLLs in it.


Solution

  • The first step should be creating an installation log to see what triggers the error.

    From the log you posted, it seems like your MSI tries to use a directory which is not in Directory table. Are you using any merge modules or special custom actions? If so, try to determine if they try to use a directory from your package.

    You mentioned something about an uninstall shortcut. Can you give us more details?