2010-12-20 76 views
0

Hii ppl我試圖在命令提示符下傳遞參數thro msiexec。問題是,即使參數正確傳遞,該值也不會反映在OnBeforeInstallEvent中。因此,msi不會被安裝。無法通過命令提示符將參數傳遞給MSI thro Msiexec

的OnBeforeInstall被寫入C#的.NET Framework 2.09(VS 2005)和事件呼叫在下面給出,

串SERVERNAME = Context.Parameters [ 「SERVERNAME」]。

例如,在自定義操作中,參數被正確聲明爲/ SERVERNAME = [SERVERNAME]以便訪問服務器名稱。

當我通過參數Thro Msiexec的值不會反映在OnBeforeInstall事件時,我安裝Thro正常UI模式沒有問題。我甚至嘗試記錄MSIEXEC/Log安裝流程,數值在日誌中改變(如下所示)

PROPERTY CHANGE:添加SERVERNAME屬性。它的值是'machine1'。

我給msiexec命令我使用將值傳遞下面,

MSIEXEC.EXE/I 「C:\ Server.msi」/升* V 「C:\ Server.txt」 ALLUSERS = 1重新啓動= ReallySupress TARGETDIR = 「C:\ Program Files文件\服務器」 SERVERNAME = 「MACHINE1」 PORT = 「9090」

,但是在達到ONBeforeInstall爲空值(下圖顯示)。

錯誤1001. Server.ServicesInstaller的OnBeforeInstall事件處理程序中發生異常。 - >由於未提供某些安裝參數,因此無法繼續安裝。 更多信息 - 服務器名稱不能爲空。 DEBUG:錯誤2769:自定義操作_542E7AC5_7403_434A_874B_DE2872A4848D.install未關閉1個MSIHANDLE。 安裝程序在安裝此軟件包時遇到意外錯誤。這可能表明此軟件包存在問題。錯誤代碼是2769.

此外,操作系統是Win 2003。我甚至在Win XP中嘗試過Msiexec仍然沒有去。 SERVERNAME是安裝工具包的TextBox2對話框中某個文本框的屬性名稱。觀察安裝日誌時,屬性更改事件正在識別SERVERNAME的值更改,但在達到OnBeforeInstall事件時變爲空。

如前所述,它在正常UI模式下完美工作。我甚至嘗試修改Server.msi的ORCA屬性表(如下所示)。

表:房產 行:SecureCustomProperties屬性 - > SecureCustomProperties Changed值從NEWERPRODUCTFOUND到NEWERPRODUCTFOUND; SERVERNAME

仍然沒有去

請幫助。

非常感謝,

byfour

回答

0

斐伊川PPL, 我修好了我自己,我絕對刪除從customaction表和它們在其他表參考文獻的使用ORCA像CustomTextA_SetProperty_EDIT1行和它解決的問題。

非常感謝,

byfour

相關問題