1

Windows 7/64 ビット コンピュータでは、NSIS 機能は機能WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\" "blah" "blah"しません。

私の理解から、それを機能させる唯一の方法はこれを行うことです:WriteRegStr HKLM "Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\" "blah" "blah"

これが Windows 7/64 ビット コンピュータのローカル マシン レジストリに書き込む唯一の方法であるというのは正しいですか?

ローカル マシン レジストリに書き込むことができるクロス プラットフォームの方法/機能はありますか?

私の唯一のオプションはこのようなものですか...

!macro WriteRegStrLocalMachine path regName regValue

    WriteRegStr HKLM "SOFTWARE\WOW6432Node\${path}" "${regName}" "${regValue}"
    WriteRegStr HKLM "SOFTWARE\${path}" "${regName}" "${regValue}"
!macroend

!macro ReadRegStrLocalMachine path regName regValue

    ReadRegStr $1 HKLM "SOFTWARE\WOW6432Node\${path}" "${regName}"
    ReadRegStr $2 HKLM "SOFTWARE\WOW6432Node\${path}" "${regName}"

    # TODO: Check if $1 or $2 contain data 
!macroend
4

1 に答える 1

2

これがWindows7/64ビットコンピューターのローカルマシンレジストリに書き込む唯一の方法であると私は正しいですか?

間違った例:NSIS(つまり、次のリリースまでの32bアプリケーション-現在は2.46)では、次を使用して64bまたは32bのいずれかにアクセスすることを選択できます。SetRegView

于 2012-12-17T04:35:40.753 に答える