2010-11-26 12 views
1

Visual Studioのセットアップウィザードプロジェクトは、レジストリ(a)に特定のキーが見つかった場合にのみ、いくつかのファイルを展開できますか?そうでない場合は、特定のregキーが存在するときに別のインストーラファイルを起動することができます(b)?VSセットアップウィザードの障害 - 多分それの代わりに?

(a)VSの.msiファイルでwinampプラグインを展開しようとしています。 2つの問題:{Winampの}/pluginsフォルダへのパスが失敗した場合に自動的に

  • 得なければならない

    • は、ユーザが

    にプラグインをインストールする場所を選択するダイアログが表示されるべきです(b)(a)NSISインストーラは、winamp .dllプラグインのみをパッケージ化するために使用されました。しかし、これは別の問題を導入しました:

    • ユーザーはWinampのがインストールされていない場合は、NSISはサブインストーラを手動でキャンセルしなければならないが発生し、これは常にメインVSはそれがないshoudながら、(Winampのを失敗するインストーラを生成させ
    • 特定のレジストリキー検出で条件付きでサブインストーラを起動する2つの方法で失敗しました(WinampのProgIDキーの検索を試みました) 。最初に失敗したのは、winampがインストールされているマシンでもProgIDキーが見つからないため(手動でキーがチェックされていて、そこにありました)、2番目の失敗はそのような条件付きの起動がサブ-installerではなく、メインインストーラーにのみインストールされます。

    VSプロジェクトウィザードをダンプしてNSISインストーラウィザードに移動することを考えていますが、私のソリューションの各コンポーネントを展開するためにスクリプトを作成することは嫌です。任意のGUIバージョン? Orcaを学び始め、VSPWの出力.msiファイルで使用する必要がありますか?または何 ?

    おかげ

  • +0

    どのVisual Studioのバージョンですか? – Eugene

    +0

    9.0.30xxxxx.1 SP – kellogs

    +0

    あなたのインストーラを作成するためにWixを試してみたいですか? –

    答えて

    1

    あなたはMSIを使用する場合のアプローチはこれです: - レジストリエントリ の検索を作成する - あなたのコンポーネントを調整するように(それは、インストーラプロパティに格納されています)検索結果を使用しますファイル - 同じ結果を使用してインストールフォルダのダイアログを設定します

    これは商用セットアップツールで簡単に行うことができます。しかし、あなたが無料のソリューションを望むなら、Sandeepは正しい、Wixはとても良いです。

    +0

    コスミン、私はVS製作インストーラを私が望んでいたやり方で動作させるために怒りがなくなるまで試して再試行しましたが、妥協して実行できました。別のものに移動し、提案してくれてありがとう。 – kellogs