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);
問題解決。