2013-12-12 230 views
1

我在Visual Studio 2012,Framework 4.5中完成了一个WinForm应用程序。我使用InstallShield进行了安装项目。我需要在可能没有安装Framework 4.5的PC上安装此应用程序,因此我将Framework 4.5作为PreRequisite添加。到现在为止还挺好。 我想要的是自动安装PreRequisite,而不需要我的客户端运行安装程序。 这可能吗? 谢谢InstallShield运行安装程序并安装先决条件而不要求

回答

0

InstallShield不支持此功能。最接近的是强制要求先决条件。另一种可能性是将PRQ与某个功能相关联,以使其成为“功能先决条件”而不是“设置先决条件”。这将导致Setup.exe直接进入你的MSI,然后延迟安装,直到用户访问后。

+0

难道你不能让.net45的PRQ隐藏,并在PRQ中传递“/ q/norestart”?然后它会在主安装程序启动之前安装。 – NGaida

+0

我可以运行setup.exe/s,但需要客户输入它。我认为他们只想双击EXE。 –

+0

我想我读他的问题是:我希望用户在运行我的设置时自动获取.net 45。因此,如果他编辑他正在使用的PRQ来安装.net45以始终传递“/ q/norestart”(显然它已正确检测到.net45已存在),那么无论用户安装他的产品(通过自然运行)在安装程序运行之前,他们会得到.net45。因此没有问他们是否需要它。 – NGaida

1

编辑您的PRQ,始终安装.net45,无需输入。这是我们在本地使用的.net40 PRQ。

enter image description here

/被动有它显示一个进度条,但你可以很容易做的/ Q(无UI的话)。唯一的问题是你的安装很长的启动延迟,用户可能会解释为“有问题”,所以我建议保持/被动。

+0

添加到:用户将不得不运行setup.exe才能获得此行为;只让他们运行msi本身不会调用PRQ。虽然如果你建立一个“单一文件”类型的设置,这将是一个没有问题。 – NGaida

相关问题