【发布时间】:2012-10-24 13:18:02
【问题描述】:
我有一个 Visual Studio 安装程序,它有一个自定义 UI,其中一个文本框恢复设置为 QUEUEDIRECTORY 属性的值。然后我有一个自定义操作(一个 Installer 类),它使用这一行 /queuedir="[QUEUEDIRECTORY]" 传递该属性值 - 并且安装程序运行良好。
现在,我需要通过命令行发送该值,以便整个组织的系统管理员都可以运行此安装程序。因此,我尝试了以下命令行语句,但它不起作用。
msiexec /i Setup.msi QUEUEDIRECTORY="D:\temp"
Setup.msi QUEUEDIRECTORY="D:\temp"
Setup.msi queuedir="D:\temp"
msiexec /i Setup.msi queuedir="D:\temp"
此外,我似乎在网上找不到任何不觉得他们入侵它的东西,因为他们只是找不到解决方案。我的意思是我已经找到了一些解决方案,他们正在编辑 MSI 数据库和所有内容,但是这似乎不是 正确 解决方案 - 特别是因为我使用的是 Visual Studio 2010 - Microsoft自从首次发布此产品以来,肯定做出了一些改进。
这里是one of the articles,看起来可以工作,但仍然感觉像一个黑客。
无论如何,我希望你能帮助我!
【问题讨论】:
-
链接到的黑客是真正解决这个问题的唯一方法。当您在 UI 中有一个文本框时,生成的 Visual Studio MSI 文件有一个无条件的自定义操作,将属性设置为空白,因此当您在命令行上指定它时,它会被内部自定义操作破坏。
标签: c# visual-studio-2010 command-line installation custom-action