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 file location of the Msiexec.exe file should be similar to C:\Windows\System32. On the File menu, click Close.
MsiExec.exe is the executable program of the Windows Installer used to interpret installation packages and install products on target systems. After you build your release, you can install your Windows Installer package (. msi) from the command line.
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?
Old question, I know - just wanted to add in some information that helped me with the Windows Installer project in Visual Studio 2015, in case anyone comes across this topic.
I got the same error message, 2727. My issue was that I was including my source code into an "src" folder in the installation directory. When looking at the output files for the source, I noticed several files like this:
\obj\Release\\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
Yes, it included that extra slash after Release. I had to add an exclusion (right click Source Files output -> ExcludeFilter) to exclude these files from installing. I added "*Temporary*" to exclude only these files.
Maybe someone else can explain why these temporary files were generated, all I know is that this fixed the issue. Hopefully this will help someone else looking for this topic.
I know its a Old question, but like @Riccaforte I was having some trouble to fix this in Visual Studio 2015. What I did was just delete all my Source Files inside my Aplication Folder, and I don't know why, but it did the trick.
If you remove a directory or directories from the Directory Table, This will cause an issue with other tables still using those directory variables.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With