2012-03-28 164 views
0

我有一个客户端已经为他们的每个Web应用程序生成一个MSI文件。他们需要一个InstallShield包装程序安装,允许用户选择他们想要的Web应用程序,并让InstallShield将欣赏的MSI文件放在用户的机器上,然后执行每个MSI文件。我看过有关运行prereq的第三方MSI文件的帖子,但没有这种情况。这甚至有可能吗?InstallShield 2012:已安装MSI项目执行MSI文件,它刚刚安装

回答

0

这是不可能的你请求它的方式。有一个互斥体阻止MSI安装另一个MSI。对于InstallShield 2012,您应该查看“套件”项目。

+0

深信客户,他们并不需要建立一个.msi并可以配置将直接在安装文件夹和文件通过组件 – 2012-04-02 20:08:02

+0

@Christopher画家对不起,劫持这一点,但有没有办法做到这一点没有套房?我只有专业人员,但需要运行我的安装,然后再运行另一个.msi(安装我的程序所依赖的某些东西)。 – Andy 2012-11-02 11:32:00

+0

查看有关安装先决条件和功能先决条件的doco。您必须将每个功能构建为MSI,然后为每个功能创建PRQ文件。然后创建一个由setup.exe驱动的父MSI,该MSI将这些MSI用作Feature Prereq。 MSI中的功能选择将导致setup.exe运行正确的MSI。 – 2012-11-02 12:01:00

-1

我做了一个自定义操作并启动了MSI。所以安装等待其他msi完成,然后一旦完成,它将运行通常的intall。

还要确保您已经在UI顺序中安排了自定义操作。两个MSI不能在执行顺序中同时运行。

http://msdn.microsoft.com/en-us/library/aa372909%28v=vs.85%29.aspx

+0

在UI序列中计划的自定义操作1)在静默安装期间不会运行,并且2)不会始终运行提升。这不是一个合适的解决方案。 – 2012-03-29 11:06:10

+0

用户没有提到它应该作为无提示安装运行..如果是这样,将检查其他解决方案。所以如果不是静默安装,这将是一个解决方案。 – anand 2012-03-30 04:54:58

+0

有许多用户永远不知道要求的最佳实践,但这不是设计差劲解决方案的借口。 – 2012-03-30 10:29:49

0

我遇到了同样的问题。我选择的解决方案是在下一串代码上放置一个矩形,以禁用日期字符串中的任何输入。

<Rectangle Fill="Transparent" Grid.Row="3" Grid.Column="1" Margin="0,0,15,0"/>