1. 程式人生 > >Setup Factory匯入登錄檔時丟失部分語句

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);

問題解決。