none
Visual Studio Installerで作成したインストーラでプログラム追加と削除から「変更」ボタンを消す方法は? RRS feed

  • 質問

  • はじめまして。
    あいこと申します。

    現在C#で作成したアプリケーションのインストーラを
    Visual Studio Installerにて作成しております。
    作成したSetup.exeでインストールすると、
    プログラムの追加と削除で「変更」というボタンが出てきます。
    しかし、変更を選択しても構成を変更できる訳ではなく、

    インストール時に使用したファイルを削除してしまっていた場合の

    ことなどを考慮して、この「変更」ボタンをなくしたいのですが、

    どのように行えばよいのでしょうか?

    よろしくお願いします

    2008年2月7日 1:25

回答

  • Visual Studio Installerを使ったことがないのでちゃんとしたやり方じゃないかもしれませんが・・・。
    インストーラー作成のプロジェクトでレジストリの追加設定ってできますよね?

    「プログラムの追加と削除」に表示される一覧はレジストリの

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    以下にあるのですが、作成したインストーラーでインストールすると、
    ここに自分で作ったアプリの情報も追加されます。

    この自作アプリのキーに、"NoModify"=1となるDWORD値を追加するように
    設定してやれば変更ボタンはなくなると思います。
    あと、"ModifyPath"という文字列値を削除する設定もできれば。

    ただ、自作アプリをアンインストールした時に、この値だけが残るかもしれません。
    たぶん、自作アプリのキーごと全部削除されるとは思いますが。
    2008年2月7日 2:19
  •  あいこ さんからの引用

    Orcaという.msiを編集するソフトを使用すれば出来そうだというところまでは突き止めたのですが、

    そのOrcaの操作方法、レジストリの設定方法がわからず苦戦しております。

     

    C# ということなので、VSのセットアッププロジェクトだと思いますが...

    IDEからは設定できないんですよね。

    なので、

    ORCA で、出来上がった msi のProperty に設定を追加して、変更ボタンを非表示にさせます。

    具体的には、

    1. ORCAで、編集したいmsiをオープンする
    2. 左側のTables ペインで、Propertyを選択する
    3. Tables メニューのAdd Row(Ctrl+Rでもよい)で、行の追加を行い
    4. Property(一つ目の項目)に
    5. ARPNOMODIFY
    6. を入力し、OKボタンをおし
    7. Value(2つ目の項目)に
    8. 1
    9. を入力し、OKボタンを押します。
    10. セーブして終了

    これで、インストールすれば、変更ボタンが消えます。

     

    詳しくは、MSDNライブラリなどでご確認ください。

    2008年2月7日 4:51
  • レジストリなら、"NoRepair"DWORD値でしょうかね。
    とっちゃんさんの例だと、ARPNOREPAIRプロパティでしょうか。
    2008年2月7日 6:02

すべての返信

  • Visual Studio Installerを使ったことがないのでちゃんとしたやり方じゃないかもしれませんが・・・。
    インストーラー作成のプロジェクトでレジストリの追加設定ってできますよね?

    「プログラムの追加と削除」に表示される一覧はレジストリの

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    以下にあるのですが、作成したインストーラーでインストールすると、
    ここに自分で作ったアプリの情報も追加されます。

    この自作アプリのキーに、"NoModify"=1となるDWORD値を追加するように
    設定してやれば変更ボタンはなくなると思います。
    あと、"ModifyPath"という文字列値を削除する設定もできれば。

    ただ、自作アプリをアンインストールした時に、この値だけが残るかもしれません。
    たぶん、自作アプリのキーごと全部削除されるとは思いますが。
    2008年2月7日 2:19
  • ありがとうございます。

     

    Visual Studio Installerではレジストリ操作の設定ができないようです。

    Orcaという.msiを編集するソフトを使用すれば出来そうだというところまでは突き止めたのですが、

    そのOrcaの操作方法、レジストリの設定方法がわからず苦戦しております。

    2008年2月7日 3:05
  • ちょっと確認ですが、「Visual Studio Installer」とは、「Visual Sudio 6.0」で使われていた
    「Visual Studio Installer 1.1」のことでしょうか?
    http://www.microsoft.com/japan/msdn/vstudio/downloads/vsi/

    それとも、「Visual Sudio 2005」などの「セットアッププロジェクト」のことでしょうか?
    どちらにせよ、レジストリの設定はできると思うのですが。
    2008年2月7日 4:37
  • 説明不足ですみません。

    Visual Sudio 2005のセットアッププロジェクトです。

     

    2008年2月7日 4:50
  •  あいこ さんからの引用

    Orcaという.msiを編集するソフトを使用すれば出来そうだというところまでは突き止めたのですが、

    そのOrcaの操作方法、レジストリの設定方法がわからず苦戦しております。

     

    C# ということなので、VSのセットアッププロジェクトだと思いますが...

    IDEからは設定できないんですよね。

    なので、

    ORCA で、出来上がった msi のProperty に設定を追加して、変更ボタンを非表示にさせます。

    具体的には、

    1. ORCAで、編集したいmsiをオープンする
    2. 左側のTables ペインで、Propertyを選択する
    3. Tables メニューのAdd Row(Ctrl+Rでもよい)で、行の追加を行い
    4. Property(一つ目の項目)に
    5. ARPNOMODIFY
    6. を入力し、OKボタンをおし
    7. Value(2つ目の項目)に
    8. 1
    9. を入力し、OKボタンを押します。
    10. セーブして終了

    これで、インストールすれば、変更ボタンが消えます。

     

    詳しくは、MSDNライブラリなどでご確認ください。

    2008年2月7日 4:51
  • とっちゃん様

     

    Registryテーブルから設定する方法ばかりを試して失敗していましたが、

    教えていただいた方法でうまくいきました!!

    ありがとうございました

    2008年2月7日 5:01
  • 2005のセットアッププロジェクトなら、[表示]メニューの[エディタ]‐[レジストリ]で設定できますよ。
    ソリューションエクスプローラーに「レジストリエディタ」のアイコンもありますけど。
    2008年2月7日 5:12
  • ぼーず

     

    ありがとうございます!

    レジストリエディタなるものの存在を知りませんでした・・・

    無事に[変更]ボタンを消すことが出来ました!!

     

    もう一つ質問なのですが、サポート情報を表示したときの

    [修復]ボタンを消すにはどのようにすればよいのでしょうか?

    2008年2月7日 5:31
  • レジストリなら、"NoRepair"DWORD値でしょうかね。
    とっちゃんさんの例だと、ARPNOREPAIRプロパティでしょうか。
    2008年2月7日 6:02
  • ありがとうございました!!

    すべてうまくいきました

     

    2008年2月7日 6:11
  • 展開早っ!

     

    私のだと、ARPNOREPAIR ですね。他に削除ボタンを消す、ARPNOREMOVE というのもあります。

    ちょっと変わったところだと、追加と削除に出さないようにする、ARPSYSTEMCOMPONENT なんてのもあります。

    #下手にセットしちゃうと見えなくなるのでご注意を

     

    サポート情報のポップアップに出てくる各種情報もほとんどが最終的にはARPなにがしという形になっていますが、これらのほとんどはセットアッププロジェクトの配置プロパティで設定できるようになっています。

    #プロジェクトの右メニューではなく、表示メニューのプロパティウィンドウで出てくるほうのプロパティです

    2008年2月7日 6:13
  • なるほど。

    勉強になりました!

    ありがとうございました

    2008年2月7日 9:41