Visual studio 如何创建一个MSI文件,在其自己的目录中运行所有EXE?

Visual studio 如何创建一个MSI文件,在其自己的目录中运行所有EXE?,visual-studio,wix,windows-installer,Visual Studio,Wix,Windows Installer,目前,我们的客户使用Windows.bat文件批量安装一系列安装程序,这些安装程序目前使用Inno Setup生成.exe文件,尽管将来有计划将其替换为目录中的.msi安装程序 然而,他们要求用一个.msi文件替换这个文件-这听起来很疯狂,因为它实际上没有安装任何东西,只是搜索目标机器上已经存在的外部文件,然后运行它们-但可能是为了利用Windows Installer的日志功能,以及防止未经授权篡改安装过程 我在Windows Installer自定义操作中发现的大部分内容似乎都是指运行由MS

目前,我们的客户使用Windows.bat文件批量安装一系列安装程序,这些安装程序目前使用Inno Setup生成.exe文件,尽管将来有计划将其替换为目录中的.msi安装程序

然而,他们要求用一个.msi文件替换这个文件-这听起来很疯狂,因为它实际上没有安装任何东西,只是搜索目标机器上已经存在的外部文件,然后运行它们-但可能是为了利用Windows Installer的日志功能,以及防止未经授权篡改安装过程

我在Windows Installer自定义操作中发现的大部分内容似乎都是指运行由MSI安装的程序,而不是运行安装程序之前已经在目标计算机上的程序。作为MSI处理的一部分,我需要做什么来运行与MSI本身位于同一目录中的现有文件


我将接受使用Visual Studio或WiX的解决方案。

解决方案必须是.msi吗?它不能是一个.exe吗?此外,您还说您希望运行的文件本身就是安装程序,但随后又说它们是“目标计算机上已经存在的程序”。你能澄清一下吗?你可以使用WiX来创建一个引导程序,它可以做你想做的事情,它叫WiX Burn。我想它应该是一个.exe,但客户要求.msi。我的意思是安装程序本身已经在目标机器上了——顺便说一句,我想我解决这个问题的第一个办法是让MSI运行JScript代码,在当前目录中搜索安装程序。你的客户实际上要求的是摆脱你的EXE安装程序,并使用MSI进行重构。不要创建只封装当前EXE安装程序的假特洛伊木马MSI安装程序。我之所以这么说,是因为我是《财富》35强公司的部署架构师,我定期与供应商进行对话。克里斯的回答是关于客户需求的唯一合理解释。所有这些设置都需要为客户转换为一个或多个MSI设置。他们的请求不可能意味着使用MSI来运行EXE而不是bat文件。