none
PowerShell でウィザード形式のインストーラを作成したい RRS feed

  • 質問

  • Windows7 + PowerShell 2.0 を使っています。

    PowerShell から Windows Form を使って、ウィザード形式のインストーラを

    作ってみようかと考えています。

    ご存知のように、ウィザード形式にすることで、[前へ]、[次へ] といったボタンを

    用意することになります。(場合によっては、[中断] ボタンも)

     

    PowerShell に限ったことではないような気もしますが、PowerShell を使って

    ウィザード形式のインストーラを実装するサンプル/ロジックを探しています。

    一般的に、インストーラの作りがどうなっているのか知らないので、是非、

    教えてください。

     

    私が考えているロジックは、以下のような感じです。

    ・ウィザードで使用する Windows Form の [次へ] [前へ] ボタンの

    ハンドラに戻り値を設定する。

    ・条件付きループの中で、Windows Form の戻り値によって

    次に表示する Windows Form を決定する、もしくは終了する。

     

    ※とても安易な考え方ですみません。

     

    もし、素敵なサンプルの在処をご存知でしたら、教えてください。

     

    ここからは余談ですけれども、フォルダの作成や、ファイルのコピーは当然として

    IIS やレジストリの設定変更、SQL Server にアクセスもでき…オリジナルの

    コマンドレットまで作成できる… PowerShell って、本当にすごいですよね。

    SCVMM で仮想環境の管理もできて、これからが楽しみですよね。

     

    2010年9月3日 13:10

回答

  • 回答がついていないていないで、私の所感でしかないですが簡単に^^;

    PowerShellは、コマンドを中心としたShellであるため、入力補助としてのフォームを表示させることはあっても、Wizardのような、GUIアプリとして認識されるようなものでは、若干画面がさびしく感じると思われます。

    画面制御は同じファイルに数画面詰め込むのであれば何とでもなると思います。
    ファイルを分けるのであれば、パイプで渡すなど、画面間のデータ連携は結構面倒です。

    Hey, Scripting Guy! Windows PowerShell スクリプトの GUI を作成する方法はありますか | 2009/08
    http://technet.microsoft.com/ja-jp/scriptcenter/ee694611.aspx

    ASE Feature Focus: ScriptForm Designer(有料のPowerShell向けフォームデザイナ)
    http://www2.adminscripteditor.com/features/sfd/

    あと、インストーラということでしたら、インストールだけではなく、安全に現状復帰(アンインストール)できる必要もあるかと思います。
    とりあえず、Installerとしてどんなことを考えるべきかは以下の連載あたりを一度お読みください。

    WiXではじめるWindows Installer作成入門 第1回(1/3):CodeZine
    http://codezine.jp/article/detail/428

    2010年9月12日 7:11

すべての返信

  • 回答がついていないていないで、私の所感でしかないですが簡単に^^;

    PowerShellは、コマンドを中心としたShellであるため、入力補助としてのフォームを表示させることはあっても、Wizardのような、GUIアプリとして認識されるようなものでは、若干画面がさびしく感じると思われます。

    画面制御は同じファイルに数画面詰め込むのであれば何とでもなると思います。
    ファイルを分けるのであれば、パイプで渡すなど、画面間のデータ連携は結構面倒です。

    Hey, Scripting Guy! Windows PowerShell スクリプトの GUI を作成する方法はありますか | 2009/08
    http://technet.microsoft.com/ja-jp/scriptcenter/ee694611.aspx

    ASE Feature Focus: ScriptForm Designer(有料のPowerShell向けフォームデザイナ)
    http://www2.adminscripteditor.com/features/sfd/

    あと、インストーラということでしたら、インストールだけではなく、安全に現状復帰(アンインストール)できる必要もあるかと思います。
    とりあえず、Installerとしてどんなことを考えるべきかは以下の連載あたりを一度お読みください。

    WiXではじめるWindows Installer作成入門 第1回(1/3):CodeZine
    http://codezine.jp/article/detail/428

    2010年9月12日 7:11
  • Chuki さん、コメントありがとうございます。

    アプリケーションのインストールで一般的に使われている Windows Installer のような

    見栄えも良く、格好良いものを作ろうとしているわけではなく、Windows Form を使って

    パラメータ入力をして IIS や SQL Server の設定をイッキにできればいいなぁ…と

    考えていました。

    ただ、やはり…入力するデータによって条件分岐することもあるため、2,3画面程度の

    Windows Form は必要になるかなぁ…なんて、大雑把にイメージしていました。

    (ウィザード形式と格好良く書いてみましたが、見栄えは全く気にしていません)

     

    やはり…なかなかレスがつかないところをみてみますと、あまり一般的ではないのかも

    しれないと思い、パラメータ設定用の XML ファイルを読み込んで(対話形式ではなく)

    コマンドベースで処理してしまおうかと思っています。

     

    まだ、仕様検討の段階ですので、全く具体性もなく、コメントを書いていただくのも

    難しかったかもしれませんが、あえて、コメントに時間を割いていただいたことには

    感謝しています。

    教えていただいたサイトをみて、勉強させていただきます。ありがとうございました。

    2010年9月12日 7:30
  • やはり…なかなかレスがつかないところをみてみますと、あまり一般的ではないのかも

    しれないと思い、パラメータ設定用の XML ファイルを読み込んで(対話形式ではなく)

    コマンドベースで処理してしまおうかと思っています。

    私も上記をお勧めします。
    GUIによる設定操作はオペレータのオペミスの排除が大変です。

    設定をXMLなど可読性の高い外部ファイル化しておくと、ファイルの検証が行いやすく、オペミス発生率も軽減できるため、サーバ系のインストールでは常とう手段だと思います。

    2010年9月12日 7:38