2016-12-16 96 views
1

我正在尋找一種方式來提供一個簽名,定製InstallShield安裝,可以有一小塊注射到它的信息不破壞簽名或需要重新簽署安裝程序無效?InstallShield安裝自定義ID不簽名

用戶會從我的網站上下載它,但它需要一個自定義的ID注入專門爲用戶。我已經看到參考邊車文件,但我找不到任何文件。

那麼,有沒有辦法將這些數據注入安裝程序而不會使簽名無效?

+0

所以有點更多的信息,你試圖做到這一點使用[海怪(https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(V = vs.85)的.aspx )還是這個問題? Orca是一個數據庫表編輯器,用於創建和編輯Windows安裝程序包和合並模塊。這是我們正在談論的MSI嗎?查看它的另一種方法是使用WiX Bootstrapper來嵌入您現有的InstallShield可執行文件。 –

+0

@JeremyThompson我不知道Orca,我會看看。這可能是一個MSI,但我可以做一個EXE,如果它使我能夠添加ID。它可以在MSI簽名後修改數據庫,而不需要再次對它進行簽名嗎?我也會在WiX上徘徊。謝謝! – tghw

+0

參見http://stackoverflow.com/questions/23806564/how-to-create-precofigured-installer-msi-or-exe-with-valid-signature/23980946 –

回答

-1

這個問題和意見至今缺少一個重要的警告:一個MSI的任何更改或EXE文件,任何會導致代碼簽名的簽名無效(除非生成的文件具有完全相同的文件哈希,這是極不可能的)。

是否有一個原因,你不能重新簽署主包?請注意,您可以使用signtool快速輕鬆地編寫一個PowerShell或批處理腳本來對EXE進行代碼簽名。您可以添加自定義數據並在一個步驟中退出軟件包。如果需要,您甚至可以爲MSM和EXE使用不同的代碼簽名證書。

可以完成通過使用預先簽訂合併模塊(MSM)非常類似的東西 - 筆者的主安裝程序爲合併簽署模塊。然後,將您已經簽名的MSM包含到未簽名的Setup EXE包中,並將您的自定義數據添加到父EXE安裝程序。自定義數據可以用許多不同方式添加,例如組件中的文本文件,嵌入到自定義操作中,或者作爲InstallShield中的支持文件。 不幸的是,這意味着你的主EXE安裝程序是無符號的,這是不推薦的。