none
セットアッププロジェクトのレジストリの書き込みについて RRS feed

  • 質問

  • インストーラでのレジストリの書き込みモードは普通は上書きなのですが、これを変えたいのですが可能でしょうか?

    アプリのバージョンアップなどで、既存の一部のレジストリの内容を変更されたくない場合、プロパティの設定で上書きを禁止できないか、ということです。

    2006年7月13日 6:34

すべての返信

  • とっちゃんです。

    残念ですが、出来ません(インストーラ作成ツールに拠らない)

    レジストリの内容を以前の状態を維持しておきたい場合は、プロパティを使ってその内容を可変値にしておきます。

    その上で、初期値(msi作成時に定義)を設定しておき、AppSearch などを利用して実行時の環境の値を吸い上げて反映させるなどを行ないます。

    ただ、これらを VS セットアップで出来るかどうかは、実際にやってみないとわかりません。

     

    2006年7月13日 9:46
  • ありがとうございます。

    AppSearchを調べてみまたしたが、できそうにないですね。

    テンポラリファイルを使用するなどの、別の手段を考えてみます。

    2006年7月14日 1:57
  • とっちゃんです。

    VSセットアップだけで作るのは難しいかもしれません(プロパティとか殆ど弄れないし)。

    ご所望の仕組みそのものは、WindowsInstaller の機能だけでも実現可能ですが、VSセットアップだと、WindowsInstaller の機能全体から見れば極わずか(実用レベルで言えば、1~2割程度の機能)しか使えるようになっていません。

    そのため、ちょっと凝ったインストーラ(単にファイルを入れるだけorレジストリをセットするだけなどを超えるもの)になると、それだけでは実現できないことが多々あります。

    VSセットアップでは満足できない状況が発生するのであれば、インストーラ作成ツールの変更をお勧めします。

    WiX については、Windows Installer XML (WiX) toolset がポータルサイトになります。英語版の OpenSource プロジェクトですが、日本語環境でも問題なく利用できます。

    日本語でのディスカッションは Windows Installer/WiX/InstallShield メーリングリスト をご利用ください。

    InstallShield は市販製品ですので導入コストがかかりますが、日本語版のヘルプもついてるため、独学でという場合はだいぶ楽が出来ます。

    #途中で投稿してしまったので追記

    2006年7月14日 2:31