2009-06-11 8 views

Antwort

9

Wir haben das gleiche Szenario und es funktioniert. Sie haben die Parameter zu übergeben, wie

InstallUtil.exe /Param1="Value" /Param2="Value" "Path to your exe" 

folgt dann haben Sie Methode auf Ihrem Installateur

public override void Install(System.Collections.IDictionary stateSaver) 
{ 
    var lParam1 = GetParam("Param1"); 
} 

private string GetParam(string pKey) 
{ 
     try 
     { 
      if (this.Context != null) 
      { 
       if (this.Context.Parameters != null) 
       { 
        string lParamValue = this.Context.Parameters[pKey]; 
        if (lParamValue != null) 
         return lParamValue; 
       } 
      } 
     } 
     catch (Exception) 
     { 
     } 
     return string.Empty; 
    } 
+0

Nur für die zukünftige Referenz: Wenn Sie einen Dienstnamen nach Parameter übergeben (dynamische Erstellung von Diensten), müssen Sie den Parameter im OnBeforeInstall abrufen. Danke für diese Antwort. –

0

Versuchen Sie NSIS. Es ist eine Skriptsprache für Installationen, mit der Sie alle Arten von komplexen Dingen ausführen können. Persönlich würde ich es für jede Installation verwenden, die über "Next, Next, Next" hinausgeht. Sehr glatt und nicht so schwer zu lernen.

0

Build und Installer mit Visual Studio oder etwas wie Wix. In Visual Studio können Sie eine Custom Action durchführen und Parameter in das CustomActionData-Feld übergeben.

2

Eigentlich kann es mit InstallUtil.exe erfolgen Installieren Sie außer Kraft setzen, die .NET-Installer-Dienstprogramm, das kommt mit dem .NET Framework.

Werfen Sie einen Blick auf diese CodeProject Artikel.

+0

Die Seite ist sehr arm, aber der Quellcode zeigt mir etwas Interessantes, +1. –

Verwandte Themen