Setup Factory导入注册表时丢失部分语句

以我注册自定义URL协议遇到的问题为例,也许能为你解决“利用Setup Factory导入注册表不能完全成功”提供一些思路。

问题描述:在注册表中添加自定义URL协议成功,但在网页中使用时发现无法正常跳转到协议指向的程序。

解决思路:可能是协议写入不完整。

写注册表内容:

Windows Registry Editor Version 5.00  
[HKEY_CLASSES_ROOT\TscPrint]  
"URL Protocol"="C:\\Program Files (x86)\\TscPrinter\\tsc_printer.exe"  
@="TscPrintProtocol"  
[HKEY_CLASSES_ROOT\TscPrint\DefaultIcon]  
@="C:\\Program Files (x86)\\TscPrinter\\tsc_printer.exe,1"  
[HKEY_CLASSES_ROOT\TscPrint\shell]  
[HKEY_CLASSES_ROOT\TscPrint\shell\open]  
[HKEY_CLASSES_ROOT\TscPrint\shell\open\command]  
@="\"C:\\Program Files (x86)\\TscPrinter\\tsc_printer.exe\" \"%1\""  

写入注册表成功后,查看注册表,发现

HKEY_CLASSES_ROOT\TscPrint\shell\open\command值为空。

然后查看导入到Setup Factory的注册表内容对应的lua代码:

居然少了一行,即对“HKEY_CLASSES_ROOT\TscPrint\shell\open\command”设置值的语句。暂不清楚是这个软件在解决.reg文件时有所遗漏,还是我本身写的reg语句有误。(自己这方面有所欠缺,希望网友能为我指正)

于是,手动添加lua代码:Registry.SetValue(HKEY_CLASSES_ROOT,"TscPrint\\shell\\open\\command","","\"C:\\Program Files (x86)\\TscPrinter\\tsc_printer.exe\" \"%1\"" ,REG_SZ);

问题解决。

猜你喜欢

转载自blog.csdn.net/u010188178/article/details/82968023