问题标签 [registrykey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
480 浏览

vbscript - COM 同级每用户注册

需要通过向 HKCU 注册表配置单元(XP SP3、Windows 7、Windows 8)添加注册表项来实现 COM 共同类的每个用户注册。通过调用 VBScript CreateObject 函数创建对象实例所需的最小注册表项集是多少?

UPD:VBScript 实现

0 投票
0 回答
219 浏览

registrykey - 与特定路径关联的注册表项

一直试图找出可以与此路径关联的不同注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE

我知道其中一个是 UnattendCreatedUser,它是一个 REG_DWORD 有人知道他们是什么或知道我可以找到注册表项列表的链接吗?

谢谢

0 投票
1 回答
567 浏览

c# - 在 C# 中列出和删除注册表子项

我是 c# 新手并寻求帮助。

我正在使用 Windows GPO 功能分发软件包。有时特定的客户端需要重新安装软件包,但不幸的是,这无法通过默认 GPO 编辑器进行控制。您可以启动软件包的重新部署,但它会再次在所有客户端上重新安装。

安装状态保存在客户端注册表中。每个软件包在此位置都有一个子键:

要在列表中收集远程计算机的子密钥,我执行以下操作:

我要将找到的值添加到选中的列表框中。由于子键被命名为唯一 ID,我将获取每个包含产品描述的子键的字符串值:

到目前为止一切顺利,产品名称已列在列表框中。我遇到的问题是尝试删除已检查产品时的下一步:

如果我将子键的唯一 ID 添加到选中列表框,这将有效。但是当我添加产品名称时,这当然不起作用。有没有一种简单的方法可以删除整个子键而不必在选中的列表框中列出 ID?

感谢您的任何意见!

0 投票
2 回答
204 浏览

c# - C#:在不知道它在哪里的情况下找到一个键

我想先强调一下我对 C# 还很陌生。

我正在尝试制作一个程序来查找和编辑注册表值,以便使用此方法禁用 CPU 核心停放:注册表编辑

问题是我知道钥匙的开始:

但不是下一部分,但我知道之后的部分:

所以如果它看起来像这样:

如何找到使用注册表和注册表项?我尝试遍历所有子键,但我得到了一个异常,因为我得到的都是空的。

任何建议表示赞赏。

0 投票
0 回答
1153 浏览

c - 以编程方式设置 ACCESS_ALLOWED_ACE,得到与 RegEdit 不同的结果

我有一个有趣的问题,我希望有人能解释一下。我们正在做以下事情:

  1. 创建一个注册表项。
  2. 使用 SetSecurityDescriptorDacl 将 ACCESS_ALLOWED_ACE 添加到 DACL。
  3. 在 Regedit 中查看密钥(权限看起来不错)
  4. 在 Regedit 中,添加一个新的子键。
  5. 查看子键的权限。

Regedit 报告权限排序不正确(并且似乎添加了一些意外权限)。

然而。

如果您在 Regedit 而不是以编程方式创建第一个键,然后重复步骤 3-5,则正确创建子键。

使用一些附加代码(未包含在下面),我比较了 Regedit 创建的密钥和以编程方式创建的密钥的 DACL,它们是相同的。但是,如果您通过代码创建密钥,那么似乎出了点问题。

下面是一些创建密钥和修改访问权限的示例代码。它基本上是一个 MSDN 示例,只是进行了调整以修改注册表项。同样,它正确地创建了密钥,但子密钥不正确。

任何线索将不胜感激。

0 投票
1 回答
254 浏览

visual-studio - 将程序集安装到 NuGet 包中的 VS PrivateAssemblies 等特殊文件夹

我们将发布我们的一个商业组件,一个 .NET 网格控件,作为 NuGet 包。该产品分为 2 个 DLL - 一个是核心功能,另一个是设计时支持程序集。核心程序集可以作为“普通”DLL 重新分发,并且可以放置到任何位置。但是为了使整个产品在 VS IDE 中正常工作,设计时部分应该安装到一个特殊的文件夹中,比如 Visual Studio PrivateAssemblies 文件夹,或者安装到任何具有指向它的特殊注册表项的文件夹中。NuGet 包允许我们这样做吗?

0 投票
1 回答
494 浏览

windows - COM服务器和注册表项重定向,是否需要做文件路径重定向翻译?

如果标题不是那么准确,请原谅我。

当我在做与 COM 服务器和注册表重定向相关的事情时遇到了一些问题,我不太确定我的理解是否正确。希望任何人都可以分享一些关于它的信息。提前致谢。

基本上,在任何人都可以使用它的服务之前,一个 COM 服务器已经在注册表中注册了。在 64 位 Windows 操作系统上,注册表中可能有 2 个可能的视图,一个是默认视图,另一个是 WOW64 视图。例如,第一个注册表项是:COMPUTER\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID{GUID}\LocalServer32,另一个是:COMPUTER\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID{GUID}\LocalServer32。并且取决于默认情况下可以读取任何一个的进程位数(64位与32位),我们也可以使用KEY_WOW64_64KEY或KEY_WOW64_32KEY(如:http: //msdn.microsoft.com/en-us/library/windows/ desktop/aa384129(v=vs.85).aspx ) 以访问其他替代注册表项。

我需要的是,我想通过读取注册表项来获取 LocalServer32 可执行文件,这可以工作。问题是,对于我读回的可执行文件路径,我是否需要根据我从哪个视图获取值来进行文件路径转换(以获得正确的值)?例如,如果文件路径是从 COMPUTER\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID{GUID}\LocalServer32 获取的,文件路径是:C:\Windows\System32\abc.exe,是否需要翻译路径到:C:\Windows\SysWow64\abc.exe?还是我需要将 C:\Program Files\abc.exe 翻译成 C:\Program Files(x86).exe?

另一个问题是,如果对于 COM 的某些注册表项,在两个视图中设置的值不同(例如,一个具有 C:\Program Files\abc.exe,另一个具有 C:\Program Files(x86) \abc.exe),那么当COM服务器启动时,svchost.exe怎么知道启动哪个,C:\Program Files\abc.exe还是C:\Program Files(x86)\abc.exe?有谁知道 svchost.exe 确定这一点的逻辑?如果存在则使用第一个,否则使用第二个?

非常感谢。

0 投票
1 回答
2152 浏览

c# - 如何允许非管理员用户写入注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\SWname\Licenses

我有一个使用 Windows Installer 部署的软件。

在 Windows XP 上,当我使用非管理员用户安装软件包时,它要求管理员权限,这是正确的。然后我点击以管理员身份运行并等待安装完成。

然后,如果我(非管理员用户)想要写入注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\SWname\Licenses”,软件会抛出异常。访问被拒绝。

我在源代码中使用以下内容:

但如果我是非管理员用户,仍然无法访问注册表项。

如何允许非管理员用户对我的软件下的注册表项具有写入权限?喜欢添加许可证?

0 投票
1 回答
231 浏览

vb.net - 删除注册表值

我正在寻找用于删除注册表值的 DLLImport API 签名。

PInvoke 仅具有针对移动设备的定义。

我正在寻找 VB.Net 中 Windows 的正常定义。

我知道我也可以使用 System.Win32.Registry 删除注册表值,但我仍在寻找 API 签名。

有人可以帮帮我吗?;)^

没关系得到它:

在此处输入图像描述

0 投票
2 回答
1938 浏览

wix - 如何在卸载时修改注册表项值而不从 wix 中的注册表中删除密钥?

我在安装时在注册表中添加了一个注册表项值。我想在卸载时修改该注册表项值,但我不想从注册表中删除它。

1)我尝试在卸载时执行自定义操作来修改注册表值。但是注册表值正在卸载时从注册表中删除。

2)如果我使组件永久化,那么它不会在卸载时修改键值。

已安装