2
我已經創建了一個outlook加載項,它的工作方式非常好,但是我想知道如何爲加載項創建安裝文件,其中加載項具有唯一的公司詳細信息,因此可能會有很多公司列表,我如何爲每個公司編譯帶有唯一標識的安裝文件,因爲它是動態的。如何根據唯一標識符動態創建安裝文件?
可以嗎?如果是,我該如何實現它?如果沒有,有沒有其他的想法來完成它? inno-setup有可能嗎?是否有可能在運行時在PHP編譯exe文件?
我已經創建了一個outlook加載項,它的工作方式非常好,但是我想知道如何爲加載項創建安裝文件,其中加載項具有唯一的公司詳細信息,因此可能會有很多公司列表,我如何爲每個公司編譯帶有唯一標識的安裝文件,因爲它是動態的。如何根據唯一標識符動態創建安裝文件?
可以嗎?如果是,我該如何實現它?如果沒有,有沒有其他的想法來完成它? inno-setup有可能嗎?是否有可能在運行時在PHP編譯exe文件?
是的,您可以將設置傳遞給預處理腳本。有命令行preprocessor compiler
的/d
命令行參數。見例如這個非常簡單的腳本:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
AppPublisher={#Publisher}
AppPublisherURL={#PublisherWeb}
該腳本可以用值傳遞給預期的變量,例如在ISCC.exe
命令行工具構建這樣:
iscc "/dPublisher=My Company" "/dPublisherWeb=www.example.com" "c:\Script.iss"
這將預處理傳遞值的腳本並構建輸出設置二進制文件。如果您想還保存在某個地方的預處理腳本,你可以把這樣一行到腳本的末尾:
#expr SaveToFile("c:\PreprocessedScript.iss")
將存儲與預處理充滿值的腳本。
P.S.我已經使用了與公司ID無關的指令,但您可以將此技術應用於您想要的任何指令,因此您需要將此示例改進爲真實腳本。 – TLama
它也可以使用從PHP的exec?我不知道我是否正確,但它看起來應該在你手動運行命令時工作。以及如果我想要在應用程序安裝以供將來使用時獲取應用程序中的值,那麼該怎麼辦?或註冊表可能是一個更好的選擇來存儲這樣的? –
我對PHP一無所知。它只是一個命令行,所以如果你可以從那裏執行命令行工具,你可以使用這個選項。另一種方法是手動生成腳本,因爲它只是一個文本文件,但我提供了一種通用的方法。你的第二個問題我不知道。你的意思是如何讀取你在運行安裝程序的機器上通過這樣的命令行構建的值?如果是這樣,那麼你使用哪個指令來爲你已經識別的唯一ID?無論如何,這將是一個更好的問題作爲一個單獨的問題... – TLama