我一直在使用 Orca 将属性“REINSTALLMODE”值“amus”手动添加到 msi 属性表中。
我厌倦了这个。我研究了 Wix,但到目前为止,我认为学习它/切换到它并不值得,即使它会解决这个问题。有没有一种方法可以在构建完成后自动将这个属性插入到 msi 中?最好只使用 vanilla visual studio 2010,不依赖第三方程序或系统环境变量。
有什么想法吗?
谢谢,
艾萨克
最佳答案
使用 vbscript
更改现有属性
set o_installer = CreateObject("WindowsInstaller.Installer")
set o_database = o_Installer.OpenDatabase("path_to_your_msi", 1)
s_SQL = "SELECT Property, Value FROM Property Where Property = 'ReinstallMode'"
Set o_MSIView = o_DataBase.OpenView(s_SQL)
o_MSIView.Execute
Set o_MSIRecord = o_MSIView.Fetch
o_MSIRecord.StringData(2) = "amus"
o_MSIView.Modify 2, o_MSIRecord
o_DataBase.Commit
添加新属性
set o_installer = CreateObject("WindowsInstaller.Installer")
set o_database = o_Installer.OpenDatabase("path_to_your_msi", 1)
s_SQL = "INSERT INTO Property (Property, Value) Values( 'ReinstallMode', 'amus')"
Set o_MSIView = o_DataBase.OpenView( s_SQL)
o_MSIView.Execute
o_DataBase.Commit
关于visual-studio - 需要一种将一个属性添加到 VS2010 安装项目中的 msi 属性表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4212724/