我有一个Visual Studio安装项目,该项目使用 msiexec.exe 文件创建卸载项目,如>> THIS <<文章中所述。
安装程序无法运行。
当我通过双击 setup.exe 文件启动安装程序时,在我遇到错误之前,屏幕上的“请等待安装程序启动”屏幕几乎不亮。
文本是(对于搜索功能):
安装程序在安装此程序包时遇到意外错误。这可能表明此包装存在问题。错误代码是2727。
我找到了一组MSI Error Codes,错误代码2727转换为
The directory entry '[2]' does not exist in the Directory table
。
有人可以指导我解决这个问题吗?我该怎么办?
[UPDATE]
根据Cosmin Pirvu的建议,我为安装程序创建了一个错误日志。查看后,看来我的安装错误可能是因为我连接到我的项目{{{em>未安装文件 msiexec.exe 的链接。 1}}创建卸载链接。
如果安装程序尝试为 msiexec.exe 创建临时文件,则显示下面显示的日志文件表示我的安装失败,然后在尝试显示错误图标时出现另一个失败。
文件>> install.log on Google Sites <<是我的错误日志文件的输出(提示:只需搜索[ProductCode]
以获取错误)。
[更新2]
我在安装项目中有一个卸载链接,它链接回主项目中的批处理文件Return value 3
:
uninstall.bat
卸载链接1>的@echo off
%windir%\system32\msiexec.exe /x %1
仅为Arguments
,因为[ProductCode]
开关已硬编码到批处理文件中。
[解决方法]:
Visual Studio Installer未创建包含某些必需DLL的文件夹。
答案 0 :(得分:4)
老问题,我知道 - 只是想添加一些帮助我使用Visual Studio 2015中的Windows Installer项目的信息,以防有人遇到这个主题。
我收到了同样的错误消息,2727。我的问题是我将源代码包含在&#34; src&#34;安装目录中的文件夹。在查看源的输出文件时,我注意到了几个这样的文件:
\ OBJ \推出\\ TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
是的,它包括释放后的额外斜线。我必须添加一个排除(右键单击源文件输出 - &gt; ExcludeFilter)以从安装中排除这些文件。我添加了&#34; *临时*&#34;只排除这些文件。
也许其他人可以解释为什么生成这些临时文件,我所知道的是这解决了这个问题。希望这有助于其他人寻找这个话题。
答案 1 :(得分:3)
第一步应该是创建installation log以查看触发错误的原因。
从您发布的日志中,您的MSI似乎尝试使用目录表中没有的目录。您使用的是合并模块还是特殊的自定义操作?如果是这样,请尝试确定他们是否尝试使用您的包中的目录。
您提到了有关卸载快捷方式的信息。你能告诉我们更多细节吗?
答案 2 :(得分:2)
我知道这是一个老问题,但是像@Riccaforte一样,我在Visual Studio 2015中遇到了一些麻烦。我所做的只是删除我的Aplication文件夹中的所有源文件,我不知道为什么,但它确实做到了。
答案 3 :(得分:1)
如果从目录表中删除一个或多个目录,这将导致仍然使用这些目录变量的其他表出现问题。