2

我有一个应用程序BACK,它被打包在一个合并模块中,并与另一个应用程序FRONT一起安装在主 MSI 包中。这些是通过 MS VisStudio 2008 中的项目创建的。

用户可以通过 MSI 的 UI 使用少量参数配置FRONT应用程序。我需要访问这些参数中的至少一个(在本例中为 URL),以便在运行时BACK可以访问FRONT

  • 在 MS Visual Studio 中,我无法查看 MSM 项目的 UI 来提示用户。
  • 在 MSI 的 UI 中设置的参数显然没有传递给 MSM——使用了 MSM 中的一个类(派生自System.Configuration.Install.Installer),但它的 Install函数被称为 w/一个空的IDictionary

我搜索了 Google、MSDN、SO 和其他人,但甚至没有找到任何人(使用 VisStudio)提出这个问题。MSDN 似乎有很多关于抽象的信息,没有提到任何工具,这让我认为它是为安装工具的开发人员而不是安装包的开发人员准备的。

4

1 回答 1

2

您可以为此使用安装程序属性。MSI 可以使用以下语法访问 MSM 属性:

<property name>.<module GUID>

因此,如果您在 MSM 中使用自定义属性,例如 MY_URL,您可以使用以下方法从 MSI 设置它:

MY_URL.{B5C20B75-2B3F-4323-9584-C426E8AEE3BF}

其中“{B5C20B75-2B3F-4323-9584-C426E8AEE3BF}”表示合并模块 GUID。

于 2011-09-21T10:43:10.987 回答