我编写了一个快速的WiX预处理程序扩展,以从我们保存在根文件夹中的文件中获取一些产品版本信息。

我想将此扩展与我们的WiX设置项目保留在相同的解决方案中,因为它易于维护。 但是问题在于,在测试时,我们使用Debug配置,而在发布构建时,我们切换到Release 这意味着我要处理两个扩展。

我如何告诉WiX根据当前配置抢一台?

我一直在查看WiX项目属性中的引用路径 ,并添加了“ .. \\ MyWiXExtensions \\ bin \\ $(Configuration)\\”作为文件夹,希望它能够接收MSBuild属性,但是不会似乎有效。

我还查看了构建事件。 我可以将输出dll复制到安装项目的文件夹中,但是如果我清理解决方案,那不会中断引用吗?

我正在使用WiX 3.7和Visual Studio 2012。

===============>>#1 票数:1 已采纳

我最终在扩展程序上使用了构建后事件,该事件会将输出复制到wixproj的文件夹中。

我只需要与解决方案的其余部分分开构建wixproj,以防止在覆盖dll时出现文件锁定问题。 如果确实出现文件锁定,我只需要关闭VS并重新打开解决方案即可。

附带说明一下,引用项目本身而不是dll可能是Votive中的一项不错的功能。

  ask by Netfangled translate from so

未解决问题?本站智能推荐:

3回复

WiX编译器扩展教程?

我需要创建一个WiX扩展来处理与HTTP API(httpapi.dll)的交互,以便可以为正在安装的WCF服务设置URLACL和SSL绑定。 据我了解,我需要创建一个WiX编译器扩展,以便可以定义XML语法( XSD ),然后实现编译器以将XML转换为MSI中定义的表中的记录。 我
1回复

是否有用于SQL连接的WiX 3.5兼容扩展对话框?

我们希望在我们的WiX安装程序中添加一个对话框,提示用户输入SQL服务器:服务器地址,身份验证类型和SQL登录名/密码。 测试连接按钮也很不错。 我的搜索出现了msiext项目,但我无法在我的WiX项目中引用它的dll(例如,WixCommonUiExtension.dll),因为它们是
1回复

如何使用WIX替换脚本中的值

我有SQL脚本,并使用WIX Tool将其作为MSI Intallation的一部分执行。 现在,我想在脚本中声明一个变量,并希望从包含文件变量值中替换变量值。 脚本: include.wxi 现在,我想用包含文件中声明的Test替换$(tablename)值。 你能帮
1回复

WIX我在哪里可以找到WixUi_en-us文件?

我已经安装了Wix 3.5,我想自定义一些对话框,在哪里可以找到WixUi_en-us文件?
3回复

Wix:如何卸载使用其他安装程序安装的以前安装的应用程序

假设您有从某个地方下载的安装程序(不是wix安装程序)。 您如何知道该安装程序的UpgradeCode,以便可以在准备的新安装程序的UpgradeCode部分中填写它? 我可以以某种方式从注册表中学习吗? 因此,问题基本上是,如何知道计算机中安装的程序的UpgradeCode。
2回复

Wix:是否有任何wix命令来创建数据库用户?

是否可以使用任何wix命令来创建数据库并将用户添加到数据库中? 如果是的话,有没有关于如何做到这一点的例子?
1回复

我可以使用Wix IIS扩展设置IP限制吗?

是否可以通过Wix安装程序为IIS站点设置IP地址限制? 我没有在IIS扩展文档中提到它。 我希望该站点仅可用于一个特定的IP地址。 谢谢!
1回复

WIX对话框更改属性文本值

我可以更改现有控件上按钮的文本属性吗? 下面的代码不起作用 如果可能的话,我想避免创建自定义对话框。
1回复

WiX3-当新用户首次使用每台计算机安装时,util:XmlFile元素再次执行

我创建了WiX安装程序项目,用于在客户计算机上部署.net winform应用程序。 该应用程序仅扫描文档并将图像保存到服务器上的数据库中。 扫描仪是非常具体的,在公司中只有一台,但是大约有一个。 四个偶尔可以使用它的用户=>应用程序将安装在仅用于扫描的单个工作站上-大部分时间它是免
1回复

如何在.wixproj文件中引用WixDifxAppExtension?

我正在使用WiX工具集开发Windows安装程序。 我没有直接调用WiX工具,而是创建了一个.wixproj文件,并使用MsBuild构建它。 我的安装程序需要安装驱动程序,所以我决定尝试使用Difxapp扩展 。 问题是我不知道如何在我的.wixproj文件中正确添加Difxapp扩