【发布时间】:2011-10-07 03:54:55
【问题描述】:
我已将 Visual Studio 安装项目创建为 MSI 包。它使用位于各自文件夹中的 msi 包中的其他先决条件。为了将所有这些合并到一个文件中,我使用 IExpress 创建了一个自解压安装项目。
但是当 IExpress 尝试运行我的设置时,它失败了,因为 MSI 安装程序试图在它们各自的文件夹中找到其他先决条件。但我不明白如何使用 IExpress 创建文件夹。
非常感谢任何帮助。
谢谢。
【问题讨论】:
我已将 Visual Studio 安装项目创建为 MSI 包。它使用位于各自文件夹中的 msi 包中的其他先决条件。为了将所有这些合并到一个文件中,我使用 IExpress 创建了一个自解压安装项目。
但是当 IExpress 尝试运行我的设置时,它失败了,因为 MSI 安装程序试图在它们各自的文件夹中找到其他先决条件。但我不明白如何使用 IExpress 创建文件夹。
非常感谢任何帮助。
谢谢。
【问题讨论】:
我急于等待答案,因为包裹的部署在交付时失败。最后我发现我可以通过winrar创建一个自解压安装包作为SFX包。它可以添加文件夹,并可以指定解压后要做什么,我可以在其中运行我的 setup.exe,甚至可以清理最后一步后提取的文件。
谢谢。
【讨论】:
Iexpress 不使用“内部”文件夹,一种解决方法是创建一个包含文件夹结构的 zip 文件,创建一个 vbs 脚本来解压缩 zip 文件,并使用一个 bat 文件控制流程。使用 IExpress 我们有一个奇怪的情况,因为 IExpress 的默认部署是在 %temp% 我们无法控制这个文件夹,windows 会在他想要的时候删除提取的文件......如果我们创建一个运行一个 iexpress 文件bat文件解压后,需要使用参数/W或/wait和start命令,因为如果不使用这个,当.bat文件结束执行时,windows会认为你不需要更多这些文件,并将删除您提取的所有文件,更少您调用的 exe 或 msi,并且您的依赖项将不存在。我认为这是 iexpress 启动的一种行为,因为如果您手动将这些文件放在 %temp% 文件夹中,则不会执行此“自动清理”。
【讨论】: