我有一个使用 WiX 工具集(3.10)在 64b 机器上开发的 32b MSI 安装程序。它已经在具有不同 Windows(7、8.1、10)的 32b 和 64b 平台上进行了测试,并且可以正常工作。
当我尝试通过Microsoft Intune安装我的 MSI 时,问题就开始了安装我的 MSI 时,问题就开始了。(与其他大规模部署工具配合使用效果很好) 执行全新安装时,会提示用户插入 MSI 文件(选择后,安装顺利,但这不是大规模部署的目的)。
我观察到,当我从使用 heat 工具收集的 MSI 文件中删除时,问题没有发生。命令是(通过 Visual Studio 传递):
"$(WIX)\bin\heat.exe" dir "C:\SOURCE_PATH" -ke -scom -frag -srd -ag
-var var.Resources -cg ResourcesGroupId -dr INSTALLDIR_RES
-out "$(ProjectDir)Source\Fragments\HarvestedResources.wxs"
该组件组被添加到包含所有其他组件的主要功能中。
目标目录创建为:
<DirectoryRef Id='INSTALLDIR_RES'>
<Component Id='cmp_ResDiR' Guid='{SOME_GUID}'>
<CreateFolder />
<RemoveFolder Id='INSTALLDIR_RES' On='uninstall' />
</Component>
</DirectoryRef>
INSTALLDIR_RES 是位于 INSTALLDIR 下的同级路径。日志显示 ComponentRegistry 使用退出代码 1(成功)完成。
安装范围是每台机器,启用提升安装。安装期间使用的所有属性都标记为:
secure="yes" admin="yes"
并且在AdminProperties和SecureCustomProperties下可见(通过Orca检查)。不过,我不使用任何CustomAction来部署这些资源。
Intune如何影响我的 MSI?我错过了什么?