2017-10-20 3 views
0

Ich habe ein Problem mit einem Installer, von dem ich ein paar Felder von Benutzereingaben zu nehmen. Angenommen, ich habe in VS einen Textboxes UI-Dialog, in dem ich den Eigenschaftsnamen des ersten Feldes auf "URI" gesetzt habe. Alle Artikel, Beiträge usw. Stackoverflow, die ich finden kann mir sagen, ich sollte diesen Wert zugreifen wie so:Eigentum von C# Installer UI nicht zugänglich in Installer Klasse

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

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

} 

aber das funktioniert nicht; Alles, was ich bekomme, ist eine leere Saite. Warum das? Was muss ich anders machen?

+1

Möglicherweise ist Ihr Problem ähnlich wie diese: https://stackoverflow.com/questions/11253460/deployment-this-context-parameters-not-available-throughout-installation-proces –

Antwort

0

Das war ein Irrtum, zum Teil auf Beispiele, die ich die Custom Data-Eigenschaft lesen gab die gleichen Namen und Kapitalisierung für die UI-Eigenschaftsnamen wie für den Namen Custom verwenden. Konkret hatte ich es so interpretiert, dass, wenn man den Wert von "Edit1Property" in einem Textfeld UI-Dialog als "URI" angegeben hat, der eingegebene Wert an Context.Parameters ["URI"] übergeben würde. Dies fehlt ein Schritt. Gemäß Alex 'Antwort, speziell this article, die in der von ihm vorgeschlagenen Antwort verlinkt ist, muss man auch jede Eigenschaft hinzufügen, die an das CustomActionData-Feld für die benutzerdefinierte Aktion übergeben werden muss, die sie verwendet.

Danke Alex.