0
我正在使用Ant在不同的计算机上部署和安装一些Windows Installer软件包(MSI)。如何检查是否使用Ant安装Windows Installer产品
我想让Ant在安装之前检查机器中是否已经安装了msi软件包(使用ProductCode)。
有没有办法在Ant中添加一个条件来检查msi产品是否已经安装?
我发现,查询Windows安装程序的产品,你可以使用API: link和another link
我想我唯一的选择是建立收到产品代码,并使用API来看看一个.EXE msi已安装。然后不知何故,它会告诉Ant产品是否安装。
在Windows SDK - WiLstPrd.vbs中已经有一个示例VBS来执行此操作。只要你可以使用java来运行cscript.exe,你应该没问题。 –
结帐:http://stackoverflow.com/questions/2389156/calling-win32-api-method-from-java –
FWIW,我会避免走出过程到cscript - > vbs - > COM。我使用“JNA”可以直接调用由MSI.dll公开的底层Win32 API,并拥有更强大的交互和错误处理功能。 –