2013-04-10 15 views
2

我使用InstallShield(Limited Edition)VS2012中創建了一個設置。首先我創建了一個安裝文件。我還有更多的事情要做,所以我創建了一個項目並添加了exe作爲新的自定義操作After Initialization(Before First Dialog)InstallShield(LE) - 可以在自定義動作中使用的傳遞命令行參數exe

Custom Actions InstallShield Image

現在我想從運行命令行這種設置和通過參數(S)給它。我嘗試使用%1獲取通過命令行輸入的第一個參數,但它不起作用。請告訴如何使用命令行傳遞參數並在exe文件中使用它。

回答

3

除非我遺漏了一些東西,InstallShield Limited Edition不支持這一點。

從Windows安裝程序的角度來看,您所指的是稱爲安全自定義公共屬性。 (見:SecureCustomProperties property

考慮命令行:

MSIEXEC/I foo.msi該ServerName是大寫使得公共SERVERNAME = MyServer的

的事實。它在SecureCustomProperties屬性中列出的事實會使其變得安全。考慮到UAC時,只有安全的公共財產纔有效。如果這個過程已經升級了,那麼它不一定是安全的,但它確實應該是。

從您使用[SERVERNAME]引用SERVERNAME屬性的值的自定義操作端。

那麼當然你可能想要爲某人剛剛運行MSI時自定義UI體驗,但InstallShield限制版不支持此操作。

我可以考慮使用WiX合併模塊和/或將轉換應用到構建的MSI上的方法,但所有這些都需要先進的MSI知識,並且升級到Professional通常更容易。