![]() |
1
2
因为它不是MSI,所以不能使用 Orca to edit the installer itself . 我已经写了 custom install actions 之前也为我的MSI安装程序。 由于您对Ghost安装程序没有太多的控制(如果有的话),我可能会编写一个自定义的可执行文件来补充安装程序,它可以在安装程序之前或之后运行。这将创建一些额外的文件来分发给您的客户,但您可以将整个文件作为zip存档分发。 首先,如果要以与Visual Studio确保安装先决条件相同的方式创建非托管引导程序,可以使用以下脚本通过msbuild执行此操作:
这将生成一个“setup.exe”,它是安装程序的任何引导程序的实际文件名。事实上,如果您想确保用户不会意外地跳过引导程序直接转到安装程序,那么可以将Ghost安装程序隐藏在“bin”文件夹中,或者隐藏在zip档案根目录之外的某个文件夹中。这样一来,他们唯一直观的选择就是“setup.exe”。如果为了客户的利益需要非常清楚的话,还包括“readme.txt”。 这个引导程序还需要确保客户端以.NET 2.0框架作为先决条件,这样您的“customInstaller executable.exe”就可以用.NET而不是非托管语言编写。实际上,这个msbuild脚本将把.NET 2.0框架安装程序放到新创建的引导程序旁边(因为“componentslocation”属性的“relative”值)。如果您担心增加Ghost安装程序下载给客户的原始下载量,您可以使用其他属性值来帮助用户通过Web获取.NET框架。 现在,您的“customInstaller可执行文件.exe”(用漂亮的托管C_编写)可以在运行Ghost安装程序之前(或之后)将额外的文件放到计算机上。我以前编写过一些代码来从.NET可执行文件运行msi:
我认为你可以做一些非常类似的事情来调用你的幽灵安装程序,而不是一个微星。如果在ghost安装程序之前运行此.NET可执行文件,则只需调用ghost安装程序进程,然后退出“customInstaller可执行文件.exe”进程,而不必等待进程.exited事件触发。此事件等待将更多地用于运行“安装后”逻辑。 祝你好运,希望这对你有所帮助。 |