CopyFiles为时已晚(CopyFiles too late)

2019-06-27 05:01发布

我需要尽快我MSI点击复制文件。 我使用CopyFiles函数在一分钟,但它没有这样做的速度不够快。 我需要我自己的自定义操作,或有移动它显示任何UI之前的方法吗?

谢谢

Answer 1:

我认为,要求已被定义不清和设计。 下面是你应该做的一个例子:

我有一个客户谁直接(零售)和间接销售的产品(通过增值分销商)。 他的应用是在可扩展的他,还是他的VAR的或他们的最终用户客户有要求能够扩展/修改/覆盖MSI与这样的属性:

1)的UpgradeCode

2)产品名称

3)许可协议

4)图标

5)配置文件

6)数字证书

我的客户在C#写了一个向导UI导游通过这一切的用户,我写了使用MSI的WiX的DTF库(Microsoft.Deployment.WindowsInstaller)相互作用的库。 其结果是一个实用程序,完全地封装在其中MSI被转换成一个变化的过程。

这是赛门铁克杀毒软件是如何工作的,以及。

对于一些开发时间,你可以引导用户到建设一个MSI与更新的产品名称和注册表表项。 得到的MSI不需要任何自定义操作,并仍然会遵守所有适用的Windows安装程序的最佳实践。



Answer 2:

任何具有reg文件和INI文件做一般可以嵌入和MSI内部完成,而不是。 这是巨大的,因为优越的MSI文件将采用内置回滚支持,如果MSI的安装中止。

InstallShield将提供自己的SETUP.EXE启动程序文件。它实际上不是一个MSI文件,同时,它是该文件在系统上投入到位等临时文件。 这是从MSI天前的原有功能,它基本上可以让高于一切穷MSI设计。

正如克里斯指出,MSI文件不应该执行文件操作和系统的修改,直到其安装顺序启动(中MSI内InstallExecuteSequence InstallInitialize和InstallFinalize之间的动作)。

我建议把在ini文件表ini文件信息,并在注册表表中的注册表信息。 你运行的EXE文件作为安装程序的一部分?



文章来源: CopyFiles too late