问题标签 [wix-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
540 浏览

wix - Visual Studio 不发布在 WiX Extension 中使用的文件

我在 Visual Studio 下构建 wixproj 时遇到问题。

我做了什么:

  • 将我的预处理器扩展添加为单独的项目(阅读这篇文章)
  • 在 Product.wxs 文件中添加了我的扩展方法调用

第一次编译工作完美。我看到 Product.wxs 中的更改。在第二次、第三次、第四次构建时出现问题,依此类推。

这就是我得到的:

“无法将文件“obj\x86\Release\WixStringFormattingExtension.dll”复制到“bin\Release\WixStringFormattingExtension.dll”。进程无法访问文件“bin\Release\WixStringFormattingExtension.dll”,因为它正被另一个进程使用。”

重新启动 Visual Studio 会有所帮助……但仅适用于第一次编译。似乎某些东西(light.exe candle.exe devenv.exe)没有释放文件。

0 投票
1 回答
2566 浏览

wix - WIX Office 检测扩展

我目前正在编写一个 WIX 安装程序,它对正在安装的其他产品有一些依赖关系。它在 C# 中,需要以下依赖项

  • Office 2010(包括 Excel/Word)
  • .NET 框架 3.5

现在对于 .NET Framework,我可以在 wix 中使用 WixNetFxExtension 来表示

然后在条件中引用此属性。

是否有类似的扩展可以为不同版本的 Office 或其单个文件(如 Word 等)执行此操作?

我知道我可以使用自定义操作来执行此操作,但我想要一个简单的方法来执行此操作,而不是创建自己的自定义操作?

0 投票
1 回答
138 浏览

wix - 将属性值发送到 Wix 扩展方法

我有一个wix财产

我想将此值发送到我的扩展方法中

我想将值 aValue 发送到 GetResult 方法中,但似乎找不到将 VAR1 转换为 'aValue' 的正确语法

该扩展是一个预处理器扩展,属性 VAR1 将通过用户界面设置...

0 投票
2 回答
2254 浏览

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

它们是我可以用来创建数据库并将用户添加到数据库的任何 wix 命令吗?如果是,是否有任何示例说明如何执行此操作?

0 投票
1 回答
929 浏览

wix - 在 XmlFile 的值中使用百分比字符

我需要在安装应用程序时使用 XmlFile 元素的 value 属性中的百分比字符来配置 log4net 滚动文件附加程序的路径。

目标是让 log4net 像这样配置

基本的 wix 代码如下所示:

我已经尝试了 [ ] 和 % 等实体([、] 和 %)的各种替换,加倍、三倍、四倍,但该值始终被称为环境变量或导致 ICE03:无效字符串格式。

替换结果如下所示:

有没有办法让 [%processid] 强制作为字符串使其按预期插入?

0 投票
1 回答
182 浏览

wix - 使用 WIX 处理 env 特定文件

我正在将我的所有项目从 Installshield 一个一个迁移到 Wix,我想找出处理 env 特定文件的最佳方法。

我们当前的过程是:使用 Installshield,我们创建一个基本 MSI 和一个转换文件,该文件将安装基本 MSI 和一个包含当前目录中存在的文件的目录结构。当然,在我的源代码控制中,我有针对不同环境的单独配置文件,我的部署脚本会选择正确的文件集并将它们放在暂存位置。

例如,当前目录如下所示:

示例.msi

样本.mst

测试\应用\文档\global.config

测试\文件\文档\global.config

sample.msi 被安装,上面的目录结构被复制到目标位置。在卸载期间,目录结构也会被删除。

我尝试使用 CopyFile 元素重新创建此行为,但在卸载期间复制的文件会保留并且不会被删除。还有另一种方法可以实现这一目标吗?

我了解我们进行包装的方式可能不是满足我们要求的最佳方式。如果有人有更好的方法来做到这一点,请告诉我。

我对 Wix 还是很陌生,我还没有看过任何 wix 扩展,所以不知道还有什么。

与往常一样,非常感谢任何帮助。

0 投票
2 回答
5031 浏览

visual-studio-2010 - WiX - 尝试使用 util:PermissionEx 设置服务的权限并收到错误 1

问题WiX - 安装 Windows 服务并授予权限正是我想要做的。首先,我添加了UtilExtension这样的命名空间:

然后我在元素中添加了以下ServiceInstall内容:

最后,编译器向我提供了以下错误消息:

错误 1 ​​ServiceInstall 元素包含未处理的扩展元素“util:PermissionEx”。请确保已提供“ http://schemas.microsoft.com/wix/UtilExtension ”命名空间中元素的扩展名。

我还需要做些什么来确保提供了元素的扩展名吗?我该如何解决?

0 投票
3 回答
7298 浏览

windows - Using the firewall extension in WiX

I'm trying to write a WiX script that uses the firewall extension to WiX, and it doesn't seem to find the extension dll (I think).

The error I'm seeing is this:

The File element contains an unhandled extension element 'fire:FirewallException'.
Please ensure that the extension for elements in the 'http://schemas.microsoft.com /wix/FirewallExtension' namespace has been provided.

and the relevant part of my WiX source is this:

If i try to register the WixFirewallExtension.dll file with regsrv32 i get this error:

The module C:\Program Files (x86)\Windows Installer XML v3.5\bin\WixFirewallExtension.dll was loaded but the entry-point DllRegisterServer was not found.

Make sure that C:\Program Files (x86)\Windows Installer XML v3.5\bin\WixFirewallExtension.dll is a valid DLL or OCX file and then try again

The dll file is in my path, but that might not matter? Do i need to do anything else to get WiX to start using it?

0 投票
1 回答
294 浏览

wix - Wix 修改现有控件

我今天刚开始使用 Wix,我想修改“LicenseAgreementDlg”(我相信它是一个内置对话框)。我想用单选按钮替换复选框。

我做了一些研究,我想我已经创建了一个带有单选按钮的新 wxs 文件。

这个对吗?我做对了吗?

谢谢,

0 投票
0 回答
4077 浏览

iis-7 - 如何在 WiX 中初始化 IIS Web 应用程序的物理路径凭据属性

更新:可能是 IIS 或 MSI 版本依赖项

问题出现在此配置上:

Windows Server 2008 R2 标准版 6.1(内部版本 7600)、IIS 7.5.7600.16385、MSI v5.0.7600.16385

在第二个配置中,相同的 MSI 工作得很好:

Vista Enterprise SP2、IIS 7.0.6000.16386、MSI v4.5.6002.18005

原始问题:

我已经为我正在处理的新项目创建了 WiX 安装程序包,并且在将 Web 应用程序正确注册到 IIS7 中存在一些未解决的问题。

问题是我的 Web 应用程序注册了不正确的物理路径凭据属性值(可以通过 IIS7 通过聚焦 Web 应用程序节点然后打开其高级设置对话框来访问此属性)。安装我的应用程序后,该值设置为用户名为“name”的“特定用户”。这样的用户在我的环境中当然不存在,这导致 Web 应用程序在尝试在浏览器中打开它时在 500.19 上失败。

因此,在安装应用程序后,我必须打开 IIS 并将物理路径凭据属性重置为“应用程序用户(传递身份验证)”,以强制 Web 应用程序使用应用程序池的身份访问其虚拟目录。该属性的此手动更改解决了问题..

有谁知道如何更改 WiX 行为,以便直接将物理路径凭据设置为“应用程序用户”,而无需手动修复该值?

这是我用于配置解决方案的 IIS 部分的片段:

Ww 已经在其他项目上遇到过这个问题,并且总是使用一个 powershell 脚本来解决,该脚本修复了在安装过程中自动执行的属性值。我相信一定有办法让WiX按照要求的方式安装它,并希望找到答案。提前致谢。