zax*_*y78 3 c# windows-installer wix
我想构建一个Wix安装程序,它将检测我的一些程序并更新它们.
我有c#代码(使用另一个DLL)检查系统上的一些东西,然后我想下载所有应用程序的最新版本的表,决定我需要更新哪个应用程序,然后下载并更新所选那些.
所以我的问题是,Wix可以执行以下操作:
1)使用c#运行另一个dll调用?
2)从网上下载文件并解析它(假设 - 也使用c#)?
3)转到链接并下载MSI\EXE?
4)安装MSI\EXE(假设在静音模式下运行)?
5)从系统中卸载旧的其他应用程序?
Windows Installer有一个互斥锁,每个机器只允许1个执行序列,每个进程只允许1个UI序列.由于此限制,一个MSI无法安装另一个MSI.这周围有黑客攻击,但它们没有遵循良好的设计(不提供适当的高程支持或静默安装/卸载支持).
您应该谨慎使用自定义操作.正确设计的自定义操作应该像Windows Installer中内置的标准操作一样.这是支持事务安装,并通过自定义表进行数据驱动.
对于你所描述的需要完成的东西,一个更好的候选者可能是一个引导程序/ chainer,如WiX的Burn功能.