问题标签 [registry]

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 投票
4 回答
7337 浏览

Visual Studio 安装项目 - 每用户注册表设置

我正在尝试维护一个安装项目Visual Studio 2003(是的,它是一个遗留应用程序)。我们目前遇到的问题是我们需要为HKCU计算机上的每个用户写入注册表项。它们需要在其中,HKCU而不是HKLM因为它们是默认用户设置,并且它们确实会根据用户进行更改。我的感觉是

  1. 这是不可能的
  2. 这不是安装程序应该做的事情,而是应用程序应该做的事情(毕竟在安装后创建用户配置文件时会发生什么?)。

考虑到这一点,我仍然希望在应用程序中尽可能少地进行更改,所以我的问题是,是否可以为Visual Studio 2003安装项目中的每个用户添加注册表项?

而且,目前该项目列出了五个注册表根键(HKEY_CLASSES_ROOT, HKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS和 User/Machine Hive)。我对用户根密钥一无所知,也没有见过用户/机器配置单元。谁能告诉我它们是什么?也许他们可以解决我上面的问题。

0 投票
4 回答
5869 浏览

这是确定操作系统架构的好方法吗?

由于 WMI 类 Win32_OperatingSystem 只包含 Windows Vista 中的 OSArchitecture,所以我很快写了一个方法,使用注册表来尝试确定当前系统是 32 位还是 64 位系统。

到目前为止,这对我们来说效果很好,但我不确定我有多喜欢浏览注册表。这是一种非常标准的做法还是有更好的方法?

编辑:哇,该代码在预览中看起来更漂亮。下次我会考虑链接到 pastebin 或其他东西。

0 投票
13 回答
23819 浏览

用于存储用户可配置应用程序设置的注册表与 INI 文件

我是一个新的 Windows 程序员,我不确定我应该在哪里存储用户可配置的应用程序设置。我了解需要为用户提供一种用户友好的方式来更改应用程序设置,例如 Edit | 设置表格或类似的。但是,在用户点击该表单上的“应用”按钮后,我应该将值存储在哪里?

在 Windows 注册表中存储设置与将它们存储在本地 INI 文件或配置文件或类似文件中的优缺点是什么?

0 投票
1 回答
3803 浏览

如何从 VS Setup 项目注册 COM?

我已将我的 DLL 标记为 vsdraCOM,安装后我可以在注册表中看到它,但我的应用程序在手动调用 RegAsm 之前看不到 COM 接口。为什么会这样?

COM注册在Vista(本人确认)和XP(经同事确认)上不起作用。在 XP 上使用 Visual Studio 2005。

0 投票
9 回答
13890 浏览

确定是否安装了 .NET 3.5 的最佳方法

我需要以编程方式确定是否安装了 .NET 3.5。我认为这很容易:

返回“2.0.50727.1434”所以没有这样的运气......

在我的研究中,我可以查看一些相当晦涩的注册表项,但我不确定这是否是要走的路。有没有人有什么建议?

0 投票
5 回答
9630 浏览

Windows:列出并启动与扩展关联的应用程序

如何确定与特定扩展名(例如 .JPG)关联的应用程序,然后确定该应用程序的可执行文件所在的位置,以便可以通过调用 System.Diagnostics.Process.Start(...) 来启动它。

我已经知道如何读写注册表。注册表的布局使得以标准方式确定与扩展关联的应用程序、显示名称以及可执行文件的位置变得更加困难。

0 投票
6 回答
2928 浏览

(IIS/Win2000Pro) 授予 IIS 用户注册表读取权限?

好的,所以我正在我的专用网络上运行一个小型测试网络服务器。我有一台运行 Windows 2000 Pro 的机器,我正在尝试通过 IIS 运行 ASP.NET 应用程序。

我编写它是为了让网页使用注册表来存储某些设置(连接字符串、其他 Web 服务的潜在易失位置、存储某些信息的本地文件系统中的路径等......)当然,它在测试时工作正常使用 VStudio.NET 2005,因为运行该应用程序的用户具有提升的权限。但是,在 IIS 上运行它时,我得到一个“拒绝访问注册表项 'HKEY_LOCAL_MACHINE\Software'。”,这表明 IIS 用户没有对注册表的该部分的读取权限(我只通过网站进行读取)本身,从不写)。

我就像“好吧,很简单,我将通过 regedit 授予该用户对注册表该部分的权限。” 问题是,我在 regedit 中的任何地方都看不到更改安全设置的选项......根本。这让我开始思考......我认为我以前实际上不必更改注册表配置单元/密钥的安全设置,而且我认为我不知道该怎么做。

半小时后在网上搜索,我没有找到任何关于这个主题的有用信息。我想知道的是...您如何更改注册表部分的安全权限?我被难住了,似乎我在谷歌上找到答案的能力完全让我失望了……因为我刚在这里注册,我想我会看看这里是否有人知道。=)

0 投票
8 回答
162227 浏览

如何从 Windows 注册表中读取值

给定一些注册表值的键(例如 HKEY_LOCAL_MACHINE\blah\blah\blah\foo)我怎么能:

  1. 安全地确定存在这样的密钥。
  2. 以编程方式(即使用代码)获得它的价值。

我绝对无意将任何内容写回注册表(如果我能提供帮助,在我的职业生涯中)。因此,如果我不正确地写入注册表,我们可以跳过关于我体内每个分子以光速爆炸的讲座。

更喜欢 C++ 中的答案,但主要只需要知道获得该值的特殊 Windows API 咒语是什么。

0 投票
5 回答
4448 浏览

以编程方式将 .reg 文件合并到 win32 注册表中

以编程方式将 .reg 文件合并到注册表中的最佳方法是什么?这是用于单元测试;.reg 文件是一个测试工件,将在测试开始和结束时添加然后删除。

或者,如果有更好的方法对注册表进行单元测试......

0 投票
4 回答
1092 浏览

无法在注册表中创建环境变量

我有一个自定义安装程序操作来更新 PATH 环境,并创建一个额外的环境变量。将目录附加到现有路径变量工作正常,但由于某种原因,我尝试创建新环境变量没有成功。我正在使用的代码是:

编辑:操作系统是 32 位 XP,据我所知,它正在默默地失败。