无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4728|回复: 8
打印 上一主题 下一主题

[已解决] WinNTSetup中的部署时修改注册表是如何实现的?

[复制链接]
跳转到指定楼层
1#
发表于 2015-3-10 21:17:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 我菜成狗 于 2015-6-28 10:06 编辑

[STRIKE]肯定不是手动的挂载修改卸载吧?[/STRIKE]
谢谢chiannet 大大答疑解惑 问题已解决 回馈坛友如下
Offline Registry Library
目的
脱机注册表库 (Offreg.dll) 用来修改外活动系统注册表的注册表配置单元。此库用于注册表更新方案如处理操作系统映像。这个库支持开始与 Windows XP 的注册表配置单元格式。
Developer audience
这项技术是为原始设备制造商 (Oem),防病毒和反恶意软件软件供应商和其他应用程序开发人员必须能够解析没有加载它们到活跃的注册表的注册表配置单元文件。
Run-time requirements
脱机注册表图书馆提供作为一个二进制的可再发行组件动态链接库 (DLL)。此库在以下版本的 Windows 上运行:
                Windows 7
                Windows Server 2008 R2
                Windows Server 2008
                Windows Vista
                Windows Server 2003
                Windows XP
应用程序应该链接到 Offreg.dll 使用的动态链接。
Offreg.dll 是为 Windows 7 和更早版本的 Windows 操作系统提供的 Windows 驱动程序工具包 (WDK)。
【以下机翻 凑合着看】
关于离线注册库

离线注册库是用来修改注册表项以外的活跃的系统注册表。

离线注册库用于注册表更新场景等服务操作系统映像。离线注册函数提供以下功能不可用标准注册功能:

•离线注册功能可以用来修改注册表项在任何支持注册表的格式。标准注册函数只能改变一个活跃的注册表项和更改必须兼容版本的Windows系统上运行。

•离线注册库只需要读访问打开一个注册表项文件和写访问保存文件。没有其他的蜂巢上执行检查对象的访问,可以修改的蜂巢标准用户权限。与标准注册函数,一个蜂巢加载到活跃注册表是一个特权操作,需要管理权限。

离线注册函数不应该用来代替系统注册表的功能有以下原因:

•不可能共享注册中心蜂巢进程之间使用离线注册功能。

•离线注册函数使用简单的锁定,可以导致严重的多线程应用程序的性能退化。

•与离线注册表更改功能还未得救,直到ORSaveHive函数。

应用程序不应该使用离线注册函数来绕过系统注册表的安全需求。加载一个蜂巢,运行的应用程序没有所需的特权RegLoadKey功能可以使用RegLoadAppKey功能。

Windows Server 2003和Windows XP:RegLoadAppKey函数不支持。

离线注册表项是一个注册表项,已经加载到内存使用离线注册表的功能。创建一个空的离线注册表项,使用ORCreateHive函数。修改现有的注册表项,使用RegSaveKey或RegSaveKeyEx函数将蜂巢从活跃的系统注册表保存到一个文件中,然后使用OROpenHive函数打开文件。

ORCreateHive和OROpenHive函数返回一个句柄的根键离线注册表项。该句柄可以像处理任何其他关键在离线注册表项有以下例外:ORCreateKey和OROpenKey函数不能用于返回一个句柄根键;ORCloseKey函数不能用于关闭根关键;和ORDeleteKey函数不能用于删除根键。在所有这些情况下,函数与ERROR_INVALID_PARAMETER失败。

使用ORCreateKey功能键添加到一个开放的离线注册表项和ORSetValue功能设置键的值。离线注册库支持其他基本的注册表操作,如列举、检索、删除键和值,设置关键属性,如安全性和虚拟化行为。函数的列表,请参阅离线注册库函数。

将更改保存到一个开放的离线注册表项,使用ORSaveHive函数将蜂巢保存到一个文件中。(不要坚持,除非ORSaveHive变化)。保存蜂巢后,使用ORCloseHive函数密切相关的蜂巢和免费资源。

离线注册表项验证使用OROpenHive函数只有当它被打开。如果蜂箱是**,操作简单的失败,没有尝试修复蜂巢。检查对象的访问在蜂房里不执行,直到蜂巢RegLoadKey函数加载到一个活跃的注册表。

离线注册中心功能不支持预定义的钥匙。


所有的键和值的名字必须Unicode字符串传递给离线注册功能。

资料为msdn翻译 地址间chiannet大 #4 的回复
2#
发表于 2015-3-10 22:22:43 来自手机 | 只看该作者
没用过,我猜应该是用了注册表某个参数

点评

那大师都是如何进行部署前的注册表修改呢?  发表于 2015-3-10 23:01
回复

使用道具 举报

3#
发表于 2015-3-10 22:56:05 | 只看该作者
不确定是不是xml文件

点评

- -赶脚不是 我在XML里找不到和REG有关的呀~  发表于 2015-3-10 23:02
回复

使用道具 举报

4#
发表于 2015-3-11 07:38:40 | 只看该作者

点评

谢谢大大提点,疑惑已解!  详情 回复 发表于 2015-6-28 08:48
回复

使用道具 举报

5#
发表于 2015-3-11 07:49:11 | 只看该作者
我感觉吗,要想实现的话,打入系统,让运行个exe,exe自然随心所欲了
回复

使用道具 举报

6#
发表于 2015-5-20 09:25:37 | 只看该作者
貌似修改的是NTUSER.DAT
回复

使用道具 举报

7#
 楼主| 发表于 2015-6-28 08:48:17 | 只看该作者
chiannet 发表于 2015-3-11 07:38
https://msdn.microsoft.com/en-us/library/ee210757(v=vs.85).aspx

谢谢大大提点,疑惑已解!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 19:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表