返回首页

简介
我是寻找一种方法来解决问题的Windows并发(嵌套)安装在URL中所述:??{A})。它是如何工作
我创建了两个项目的解决方案:InstallerHelper??一个控制台应用程序项目与C#代码,使代码的自定义操作。MsiInstaller??一个Windows Installer项目创建的MSI。
首先,为InstallerHelper项目,我创建了两个简单的类:InstallerClass - 此安装程序类重写自定义操作,以提供附加功能的基本安装程序类。InstallerHelper - 这个助手类是用来调用基于InstallShield的EXE或MSI微星。
一般来说,InstallerClass类调用的InstallerHelper类调用基于InstallShield的EXE或MSI微星。下面是我在我的MSI安装演示实现:
{S0}
接下来,MsiInstaller项目,我添加到文件系统无论是从InstallerHelper项目的输出,并在目标机器上安装基于MSI InstallShield的EXE或MSI。我发现,你其实可以拖放多个依赖文件和文件夹的文件系统视图。

我添加为所有的自定义操作的主要输出InstallerHelper。

这个实现了一个Visual Studio的Windows Installer项目内调用一个MSI的目标。当我运行MSI,它会首先安装基于InstallShield的EXE或MSI微星,但不执行。然后,它运行InstallerHelper这踢过的EXE或MSI。提示
我发现一个提示,如果进口微星基于InstallShield的EXE或MSI已包含自定义操作,这是很常见的,那么当你的EXE或MSI添加到Visual Studio的Windows Installer项目,进行了自定义操作Windows Installer的项目。这使得并发安装不良的结果,因为从嵌入式微星的一些自定义操作被调用而包装MSI运行。一个简单的解决方法是使用Orca.exe,选择CustomAction,删除正在进口的形式嵌入EXE或MSI安装过程。历史2009年2月 - 第一个版本。

回答

评论会员:kensurferca 时间:2012/01/24
这里是您使用的是2008年的链接,您可以更改版本的Visual Studio版本

http://msdn.microsoft.com/en-us/library/ms165429(V = VS.90)。ASPX
kensurferca | tonyt
评论会员:游客 时间:2012/01/24
您好,感谢很好的例子:我现在类似的问题扯皮,这涉及到两个。MSI安装,其中一个是由用户运行,必须launche第二MSI安装在同一位置的用户选择安装的应用程序的一些常见的文件我遇到的问题是,我无法找到任何简单的方式来推出的第二微星,有它安装到选定由用户在第一次安装的应用程序文件夹的位置。因此,用户运行"Primary.msi",使他们能够选择应用程序文件夹,然后安装所有文件,该文件夹包括"Secondary.MSI"。然后,我必须通过自定义操作Primary.msi推出"Secondary.MSI",它安装到同一文件夹中(由用户选择的应用程序文件夹)。我无法找到任何文件,是如何指定目标文件夹为第二位。msi文件的参数,没有UI,并以静默方式运行。任何提示或指针赞赏。