0

私は解決策を探し回りましたが、それらを機能させることができませんでした。

私の会社の製品には、[プログラムと機能] ダイアログで製品を選択するときに [修復] オプションがありました。製品を右クリックして [修復] を選択することもできます。インストーラー プロジェクトを継承する直前に、この [修復] オプションが表示されなくなりました。何かがこのオプションを無効にしているかどうかを確認するために周りを見回しましたが、何も見つかりませんでした。

InstallShield では、DisableRepair は No に設定されています。また、製品のインストール時に、NoRepair 用に製品のアンインストール セクションにレジストリ キーが設定されていません。デフォルトでは、修復オプションが表示されているはずですが、なぜ表示されないのかわかりません。カスタムアクションでARPNOREPAIRをいじってみましたが、すべて役に立ちませんでした。DWORD 値に 0 と 1 の両方を指定して NoRepair のレジストリ キーを作成し、実際に機能するかどうかを確認しました。それを無効にしているコードがどこかにあると言いたいのですが、私はどこでもチェックし、以前のインストーラーの同僚と話しましたが、彼はそのオプションを削除することについて何も知りません.

誰もこれに関する情報を持っていますか?

4

1 に答える 1

0

いろいろと調べてテストした結果、興味深いことと問題の解決策を見つけました。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall の下に別のレジストリ エントリを作成する C# カスタム アクションがあったことが判明しました。また、InstallShield で ARPSYSTEMCOMPONENT が 1 に設定されていたため、元のエントリが [プログラムと機能] に表示されず、新しいエントリが表示されるように設定されていました。どうやら NoModify と NoRemove は新しいエントリで動作しますが、NoRepair では動作しません (理由がわからない)。私の解決策は、元のエントリに戻って、カスタム アクションに追加していたキーを変更することでした。

于 2013-10-09T21:26:59.540 に答える