I have an application BACK which is packaged in an Merge Module, and installed with another application FRONT which is in the main MSI package. These are created via projects in MS VisStudio 2008.
The user can configure the FRONT application through the MSI's UI with a small set of parameters. I need to access at least one of these parameters (in this case a URL) so that at runtime BACK can access FRONT.
- In MS Visual Studio, I can't view a UI for the MSM project t开发者_如何学Goo prompt the user.
- Parameters set in the MSI's UI are apparently not passed through to the MSM -- a class in the MSM (derived from System.Configuration.Install.Installer) is used, but its Install function is called w/an empty IDictionary.
I've searched Google, MSDN, SO and others but haven't even found anyone (using VisStudio) with this question. MSDN seems to have a lot of info on abstractions, with no reference to any tool, it leaves me to think it's intended for developers of install tools rather than of install packages.
You can use installer properties for this. A MSI can access a MSM property by using this syntax:
<property name>.<module GUID>
So if you use a custom property in your MSM, for example MY_URL, you can set it from your MSI by using:
MY_URL.{B5C20B75-2B3F-4323-9584-C426E8AEE3BF}
where "{B5C20B75-2B3F-4323-9584-C426E8AEE3BF}" represents the merge module GUID.
精彩评论