简体   繁体   English

使用 nsis 写入注册表

[英]Write registry using nsis

I want to run a .reg file inside an NSIS installer.我想在 NSIS 安装程序中运行一个.reg文件。 My registry file is:我的注册表文件是:

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"

I tried to run:我试图运行:

WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{adeba497-0484-4d69-aff3-d7c759f21d15}" "SampleV2CredentialProvider"

WriteRegStr HKCR "CLSID\{adeba497-0484-4d69-aff3-d7c759f21d15}" "SampleV2CredentialProvider"

These are not working for me, and also, I don't know what I should say about the last registry.这些对我不起作用,而且,我不知道我应该对最后一个注册表说些什么。 Can you please help me?你能帮我么?

I've solved the problem using SetRegView .我已经使用SetRegView解决了这个问题。 As I was working on a 64-bit operating system, it was trying to look to the registries as a 32bit register by default.当我在 64 位操作系统上工作时,它试图默认将注册表视为 32 位寄存器。 Because of that, nothing was happening to my registry file.因此,我的注册表文件没有发生任何事情。 Setting SetRegView to 64 solved the problem for me.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"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM