安装程序类中无法访问的C#安装程序UI的属性

安装程序类中无法访问的C#安装程序UI的属性

问题描述:

我遇到安装程序问题,我需要从中安装几个用户输入字段。假设我在VS中有一个Textboxes UI对话框,其中我已将第一个字段的属性名称设置为“URI”。所有的文章,StackOverflow的帖子等等,我能看到的是告诉我,我应该访问值,像这样:安装程序类中无法访问的C#安装程序UI的属性

public override void Install(IDictionary stateSaver) 
{ 
    base.Install(stateSaver); 

    string uri = this.Context.Parameters["URI"]; 

} 

,但是这是不工作;我所得到的只是一个空字符串。这是为什么?我需要做什么改变?

+1

可能,您的问题与此类似:https://stackoverflow.com/questions/11253460/deployment-this-context-parameters-not-available-throughout-installation-proces –

这是一个误解,部分原因是我读取的示例将CustomAction Data属性的UI属性名称与CustomAction名称使用相同的名称和大小写。具体来说,如果将Textboxes UI对话框中的“Edit1Property”的值指定为“URI”,则将其解释为意义,输入的值将传递给Context.Parameters [“URI”]。这是缺少一个步骤。根据Alex的回答,特别是this article链接在他建议的答案中,还必须将使用它的自定义操作的每个属性都添加到CustomActionData字段中。

谢谢Alex。