2011-09-16 9 views
0

の使用は、私はNSISインストーラを作成するためのウィザードを使用して、コードをレビュー: それは「HKLM」としてPRODUCT_UNINST_ROOT_KEYという変数に定義:NSISとHKLM、文字列

!define PRODUCT_UNINST_ROOT_KEY "HKLM" 

をそして同じようにそれを使用この:HKLM、または「HKLM」、およびフォルダが(私は「HKEY_LOCAL_MACHINE」と呼ばれている)別の名前されている場合、それはまだそのディレクトリを参照する場合:$ {PRODUCT_UNINST_ROOT_KEY}がある場合

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" 

私は思っていました。

ありがとうございます!

+1

この行がレジストリに書き込んでいた内容を確認するコードを実行しましたか? – CharlesB

+0

@CharlesBどういう意味ですか?レジストリについて何も知らないので、私は本当にこれを混乱させないようにしています.NSISページのチュートリアルでは、レジストリに何か間違った記述をすれば、多くのものを消去できます。 – NBcode

+0

いつ知っていますか?テストしないとコードは機能しますか?あなたのシステムを混乱させたくない場合は、仮想マシンを使用してください。レジストリはそれほど複雑ではありません。あなたが書いたツリー(キー、値)です。 – CharlesB

答えて

5

HKLM HKEY_LOCAL_MACHINEある(これはかなり一般的な別名である)とHKCUはHKEY_CURRENT_USERなどで

!define PRODUCT_UNINST_ROOT_KEY "HKLM"!define PRODUCT_UNINST_ROOT_KEY HKLM と同じですが、文字列にスペースが含まれている場合、あなたが本当に唯一の引用符を必要としています。

+0

ありがとう!私はどこでもこれを見つけることができませんでした – NBcode