我创建了一个msi-package,它在安装过程中将一些xml文件压缩成一个zip文件。我为此目的创建了一个CustomAction:
<CustomAction Id="CompressMy" BinaryKey="zipEXE" ExeCommand="a -tzip "[TEMPLATE_DIR]my.zip" "[TempSourceFolder]data.xml"" Return="check" HideTarget="no" Impersonate="no" Execute="deferred" />
如果我尝试安装到本地驱动器,安装工作正常,但最近客户想要在Windows Vista上安装[TEMPLATE_DIR]
到网络驱动器。 CustomAction失败,因为升级安装 - 用户尚未映射网络驱动器,即使安装程序调用用户已映射驱动器。如果我尝试安装到unc路径,也会发生这种情况。我使用7zip进行压缩。我已将它添加到我的msi-package中。
我尝试设置Impersonate="yes"
,但如果TEMPLATE_DIR
为f.e,则安装失败。 ProgramData-dir。
你知道我能做什么吗?我想过检查TEMPLATE_DIR
是否是网络路径,但我不知道如何检查这一点。或者您有任何其他想法如何在使用此自定义操作时提供本地和网络安装。
如果有任何建议会很好,
问候,马丁
答案 0 :(得分:0)
完成任务的一种方法是使用本机代码进行自定义操作。我有类似的问题,我把所有的CA转换为本机代码(C ++)
所有最好的
取值