无忧启动论坛

标题: 求判断注册表导入成功失败的方法(已解决) [打印本页]

作者: 9zhmke    时间: 2021-5-23 15:09
标题: 求判断注册表导入成功失败的方法(已解决)
本帖最后由 9zhmke 于 2021-5-24 14:32 编辑

      我做绿色软件,基本都是用uninstall来跟踪出文件和注册表,然后简单打包这些文件和注册表成自解压安装文件,以便此后不用再经历繁琐的安装过程。对于小型软件来说没几行,一眼就看完了,这两天想试试office2016的64位版,三大件导出来的注册表却有10M之多,手工分析太花时间了。

      想写个VBS来分离所有的注册表内容,一段一段导入,把能直接导入的和不能直接导入的分离开,VBS自带的写注册表功能格式更改太多不敢用,只能使用REGEDIT来导入,但现在遇到的问题是REGEDIT好像没有返回值,无法判断是否正确导入。

      初步设想不使用/S静默参数,在确认Regedit第一个窗口后,抓第二个弹窗中的字符串,依靠字符串来判断是否成功,但没找到这样的工具,各位高手有没有适用的工具或更好的方法呢?

作者: seawaycao    时间: 2021-5-23 15:17
笨办法一个,操作后再读取该键值是否存在或正确
作者: seawaycao    时间: 2021-5-23 15:17
笨办法一个,操作后再读取该键值是否存在或正确
作者: 2012jiashanni    时间: 2021-5-23 15:28
很简单呀  判断注册表值是否存在或者正确就好了呀
作者: hua_wuxin    时间: 2021-5-23 15:53
reg.exe(不是regedit.exe)有返回值
作者: guoziwei    时间: 2021-5-23 16:03
导入注册表,如果成功系统会提示,失败系统也会提示的!
作者: 黑中见白    时间: 2021-5-23 16:26
本帖最后由 黑中见白 于 2021-5-24 00:20 编辑

reg.exe import xxx.reg
IF ERRORLEVEL 1 ECHO 离线注册表system加载_失败
IF ERRORLEVEL 0 ECHO 离线注册表system加载_成功
作者: seawaycao    时间: 2021-5-23 18:55
帮楼主顶一下,顺便学习学习。
作者: 9zhmke    时间: 2021-5-23 20:33
2012jiashanni 发表于 2021-5-23 15:28
很简单呀  判断注册表值是否存在或者正确就好了呀

如果之前没写过的话,写完这些语句相对要复杂一点
作者: 9zhmke    时间: 2021-5-23 20:34
hua_wuxin 发表于 2021-5-23 15:53
reg.exe(不是regedit.exe)有返回值

有道理,但是从注册表文件转到reg接收的格式倒还不如改成VBS格式了
作者: 9zhmke    时间: 2021-5-23 20:35
黑中见白 发表于 2021-5-23 16:26
reg load "HKLM\SYS" "%~dp0\Windows\system32\config\system"
IF ERRORLEVEL 1 ECHO 离线注册表system加 ...

谢谢,看来这也是相对比较简单的方法了。这个工作量下来也并不小
作者: hua_wuxin    时间: 2021-5-23 22:59
9zhmke 发表于 2021-5-23 20:34
有道理,但是从注册表文件转到reg接收的格式倒还不如改成VBS格式了

并不需要什么格式转换
reg.exe import xxx.reg

作者: 9zhmke    时间: 2021-5-24 14:31
hua_wuxin 发表于 2021-5-23 22:59
并不需要什么格式转换
reg.exe import xxx.reg

谢谢,看来这就是我需要的方法了!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3