使用Electron-Wix-Msi修改ALLUSERS属性出现重复报错如何处理
解决electron-wix-msi修改ALLUSERS属性重复定义问题
你遇到的报错是因为ui.template的内容会追加到默认wxs模板之后,手动写的ALLUSERS属性定义和默认模板中已有的定义重复了,无需手动编写Property代码,优先使用框架内置配置即可解决:
方案1:使用内置perMachine配置(推荐)
electron-wix-msi原生提供了perMachine参数专门控制ALLUSERS属性:
- 在你的MSICreator配置顶层添加
perMachine: true,框架会自动将ALLUSERS值设为1 - 删掉ui.template中你手动添加的ALLUSERS属性定义代码
配置示例:
new MSICreator({ // 其余原有配置(appDirectory、outputDirectory等)保持不变 perMachine: true, ui: { chooseDirectory: true // 移除之前写的ALLUSERS相关template配置 } })
方案2:自定义完整wxs模板(适用于有更多Wix自定义需求的场景)
如果你需要调整更多Wix模板规则,可以直接替换完整模板避免冲突:
- 导出electron-wix-msi的默认wxs模板,找到ALLUSERS配置项直接把Value改成1
- 在MSICreator配置中通过
wxsTemplate参数传入修改后的完整模板内容,直接覆盖默认模板,不会出现重复定义问题
内容的提问来源于stack exchange,提问作者JoeD
相关产品推荐
相关产品推荐

