5

Inno Setup で自分のプログラムのインストーラーを作成しています。私のプログラムは、Web ページと Internet Explorer を使用して対話します。

私のクエリには 10 秒以上かかるものがあります。私の友人のコンピュータで、彼が 10 秒のタイムアウトを設定する Internet Explorer のレジストリ キー「RequestTimeout」を持っていることに気付きました。このキーは Internet Explorer に本来存在するものではなく、明らかにサード パーティのインストーラーによって追加されます。しかし、私がウェブで読んだことによると、かなりの数の人々がそれで終わります.

私の質問は、セットアップ中にこのキーが存在する場合、このキーを削除または変更するように Inno Setup に指示できますか?

私はググってみましたが、Inno Setup と Registry Keys について見つけたすべてのリソースは、アンインストール オプションに関係しています。

4

3 に答える 3

10

「自分のもの」ではない値を削除する必要があるかどうかについてのポイントを無視すると、タイプを に設定してフラグnoneを追加することで、インストール時にレジストリ値を簡単に削除できます。deletevalue

[Registry]
Root: HKLM; Subkey: "Software\My Company\My Program\Settings"; ValueName: "Value"; ValueType: none; Flags: deletevalue;

Check:パラメータやその他の条件ステートメントを追加することもできます。

于 2013-11-13T10:38:31.987 に答える
2

inno setup help には、そのために使用できるいくつかの関数がリストされています

function RegDeleteKeyIncludingSubkeys(const RootKey: Integer; const SubkeyName: String): Boolean;
function RegDeleteKeyIfEmpty(const RootKey: Integer; const SubkeyName: String): Boolean;
function RegDeleteValue(const RootKey: Integer; const SubKeyName, ValueName: String): Boolean;;

これは、initializeWizard または initializeSetup メソッドで実行できます。値を確認して変更できます。また、あなたの質問に対するコメントは正しいです。

于 2013-10-25T23:09:55.147 に答える