我正在使用 IExpress 来组合我的引导程序和 msi 文件。它工作正常,除了如果我在没有任何先决条件(.net 4,sql ce)的机器上安装程序,它将失败。它总是在重新启动后失败,这发生在安装 .net 4 框架之后。在它指向我的错误日志中,它给出了一条消息
错误:无法找到应用程序文件
安装失败后重新启动安装可以正确安装,但这不是该项目可接受的解决方案。有人对如何解决这个问题有任何想法吗?让我知道是否需要解释其他任何内容。谢谢。
我正在使用 IExpress 来组合我的引导程序和 msi 文件。它工作正常,除了如果我在没有任何先决条件(.net 4,sql ce)的机器上安装程序,它将失败。它总是在重新启动后失败,这发生在安装 .net 4 框架之后。在它指向我的错误日志中,它给出了一条消息
错误:无法找到应用程序文件
安装失败后重新启动安装可以正确安装,但这不是该项目可接受的解决方案。有人对如何解决这个问题有任何想法吗?让我知道是否需要解释其他任何内容。谢谢。
斯蒂芬是对的;一旦 IExpress SFX 终止,它就会删除它用于提取的临时目录(类似于 的内容%temp%\IXP000.TMP
)。因此,重新启动后,您的 MSI 就消失了。
要保留安装程序文件,您需要先将所有内容复制到不同的目录。您可以启动一个批处理文件(例如,将安装程序命令设置为类似cmd /c persist.bat
)。然后persist.bat
看起来像:
@echo off
xcopy /y * "%temp%\myproject\"
msiexec /q /i "%temp%\myproject\install.msi" /l*v "%temp%\myproject_install.log"