如何在Windows 10上從Inno Setup安裝程序打開PDF?我試圖顯示幫助文檔,並且我使用的技術(based on comments on this question)和適用於Windows 7的技術在Windows 10上運行時不會發生任何事情(文件未打開,並且沒有報告錯誤消息)。如何在Windows 10上使用Inno Setup打開PDF?
具體地,試圖打開PDF(在安裝在使用ShellExec()
或安裝在使用shellexec
標誌[Run]
部之後的自定義代碼部分之前)在需要提升的權限的安裝程序,這將產卵2個的Adobe過程時,但不會打開窗口(此外,除非手動終止這些進程,否則無法打開其他PDF。但是,如果PDF將打開:
- 另一個PDF已經打開,
- 安裝程序從已提升的命令提示符下啓動,或
- 安裝程序從Inno Setup的工作室lanuched
在所有其他情況下,PDF將不會啓動(並且直到您終止2個Adobe進程,則不會打開其他PDF)。
這實質上是在Windows 7,但不能在Windows 10的工作代碼:
ExtractTemporaryFile('test.pdf');
ShellExec('open',
AddQuotes(ExpandConstant('{tmp}\test.pdf')), '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
當作爲管理員運行時,有可能沒有爲動詞** open **註冊shell命令。你是否嘗試通過''''而不是打開? (這也可以解釋爲什麼'ShellExecAsOriginalUser'在ShellExec不適用的情況下工作 - 非管理員爲PDF文件分配了開放動詞操作。)較新的Acrobat Reader版本的默認值是* Read *,而不是* Open *,使用空字符串將導致它使用默認操作。 –
沒有運氣,將''''傳遞給'ShellExec'具有相同的結果。但是,很高興知道_read_是新的默認操作,謝謝。 – dbc