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.
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.
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?