使用 nsis 写入注册表
Write registry using nsis
我想 运行 NSIS 安装程序中的 .reg
文件。我的注册表文件是:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}]
@="SampleV2CredentialProvider"
[HKEY_CLASSES_ROOT\CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}]
@="SampleV2CredentialProvider"
[HKEY_CLASSES_ROOT\CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}\InprocServer32]
@="SampleV2CredentialProvider.dll"
"ThreadingModel"="Apartment"
我试过 运行:
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}" "SampleV2CredentialProvider"
WriteRegStr HKCR "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}" "SampleV2CredentialProvider"
这些对我不起作用,而且,我不知道我应该对最后一个注册表说些什么。你能帮帮我吗?
我已经使用 SetRegView 解决了这个问题。当我在 64 位操作系统上工作时,它试图默认将注册表视为 32 位寄存器。因此,我的注册表文件没有发生任何事情。将 SetRegView
设置为 64
解决了我的问题。
SetRegView 64
WriteRegStr "HKLM" "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}" "" "SampleV2CredentialProvider"
WriteRegStr "HKCR" "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}" "" "SampleV2CredentialProvider"
WriteRegStr "HKCR" "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}\InprocServer32" "" "SampleV2CredentialProvider.dll"
WriteRegStr "HKCR" "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}\InprocServer32" "ThreadingModel" "Apartment"
我想 运行 NSIS 安装程序中的 .reg
文件。我的注册表文件是:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}]
@="SampleV2CredentialProvider"
[HKEY_CLASSES_ROOT\CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}]
@="SampleV2CredentialProvider"
[HKEY_CLASSES_ROOT\CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}\InprocServer32]
@="SampleV2CredentialProvider.dll"
"ThreadingModel"="Apartment"
我试过 运行:
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}" "SampleV2CredentialProvider"
WriteRegStr HKCR "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}" "SampleV2CredentialProvider"
这些对我不起作用,而且,我不知道我应该对最后一个注册表说些什么。你能帮帮我吗?
我已经使用 SetRegView 解决了这个问题。当我在 64 位操作系统上工作时,它试图默认将注册表视为 32 位寄存器。因此,我的注册表文件没有发生任何事情。将 SetRegView
设置为 64
解决了我的问题。
SetRegView 64
WriteRegStr "HKLM" "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}" "" "SampleV2CredentialProvider"
WriteRegStr "HKCR" "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}" "" "SampleV2CredentialProvider"
WriteRegStr "HKCR" "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}\InprocServer32" "" "SampleV2CredentialProvider.dll"
WriteRegStr "HKCR" "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}\InprocServer32" "ThreadingModel" "Apartment"