我正在创建一个带有自定义用户界面的 WPF 设置应用程序。我从 Bryan P. Johnston 的教程开始:http: //bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/
在我看来,我有一个简单TextBox
的绑定到InstallationPath
我的MainViewModel
.
现在我希望在用户单击“安装”时使用此路径。为此,我有一个绑定到我的InstallCommand
. 调用以下方法(直接取自教程):
private void InstallExecute()
{
Bootstrapper.Engine.Plan(LaunchAction.Install);
}
如何使软件包安装到我的财产目录中InstallationPath
?
编辑:
我在 Stackoverflow 上发现了一个类似的问题:
在刻录管理的引导程序中指定 WiX 中软件包的 INSTALLLOCATION
答案来自 Bob Arnson
为每个 MsiPackage 使用 MsiProperty 子项以指定 INSTALLLOCATION=[BurnVariable]。然后使用 Engine.StringVariables 设置 BurnVariable。
现在,我想我可以StringVariables
像InstallExecute
这样访问
private void InstallExecute()
{
Bootstrapper.Engine.StringVariables["BurnVariable"] = InstallationPath;
Bootstrapper.Engine.Plan(LaunchAction.Install);
}
但是在哪里定义这个变量呢?我猜在 Product.wxs 的某个地方?