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