我为.net应用程序创建了一个安装项目。我想在安装文件夹选择后添加另一个对话框。我在用户界面面板中添加了该对话框。
它正确地向我展示。
现在,我想根据CustomInstallerClass
中的选定选项编写一些代码。但是,我不知道如何在Commit
进程中获取该值(选定单选按钮)。所以,我可以根据单选按钮选择进行进一步的处理。
我不能使用Wix或任何其他第三方工具来创建该包。我还在SO上阅读了一些其他帖子,如this。但是,我找不到任何解决方案。
编辑:
我正在使用这些代码来检索上下文中的可用参数。但在结果中我无法从我的自定义对话框中找到任何参数。
protected override void OnCommitted(System.Collections.IDictionary savedState)
{
string Values = string.Empty;
foreach (string skey in this.Context.Parameters.Keys)
Values += skey + Environment.NewLine;
MessageBox.Show(Values);
base.OnCommitted(savedState);
}
结果显示如下。
action
installtype
assemblypath
logfile
答案 0 :(得分:2)
MS似乎已经删除了在从VS中取出安装项目时如何执行此操作的演练。但是,如果你查看那个RadioButtons(2)对话框的属性窗口,你会看到有一个大写的属性名,可能是BUTTON2。将设置为0或1.将参数传递给install方法的方式就像参数一样,所以你要添加像/ MyButton = [BUTTON2]这样的东西,我想你需要括号。然后在安装程序类中,您可以说:
StringDictionary myStringDictionary = this.Context.Parameters;
并使用字典上的键MyButton来获取值。这应该让你接近。