0
我有一個關於使用VBScript編輯MSI的兩部分問題。編輯MSI屬性表
下面的代碼將使用靜態值(C:\ users \ x等)放置到MSI'Property'表中。但是,如果我使用預定義變量,那麼它會將變量名稱作爲文本插入到MSI中,而不是該變量轉換爲的內容。如何讓
msi.OpenView
函數接受該變量的值?該變量是從命令行參數創建的。
strNewServerName = WScript.Arguments.Item(0) Set record = msiInstaller.CreateRecord(1) Set view = msi.OpenView("INSERT INTO `Property` (`Property`, `Value`) VALUES ('SERVERNAME', 'strNewServerName')") view.Execute record
的
view.Execute
將錯誤,除非在MSI屬性/行是空的。在我提交新的函數之前,我必須刪除源MSI中更新的所有字段。有沒有辦法觸發msi.OpenView("INSERT INTO...")
與覆蓋命令的任何已經在行/表?
謝謝,確定更新功能是有道理的。 不太確定你的意思是如何替換文字。無論寫入第二組引號中的什麼 - VALUES('SERVERNAME','strNewServerName')「) - 都會以清除文本的形式寫入所有邏輯。 – n00borama
完成尋找一種與您所描述的相似的方法但是我不太明白你的意思。 set view = msi.OpenView(「INSERT INTO'Property'('Property','Value')VALUES('SERVERPORT','」&strNewServerPort&「')」) – n00borama