我的开发环境受到严格的限制,但开发人员对其也有严格的控制。
VCRedist_x86.exe是一个4MB的可再分发文件,传输需要四个小时。我更喜欢只重新分发MFC90.dll、msvcm90.dll、msvcp90.dll和msvcr90.dll这些文件,这样只需要2MB。然而,《重新分发Visual C++文件》中指出:
不支持未使用清单构建的C/C++应用程序的重新分发。在未绑定应用程序与这些库的清单的情况下,C/C++应用程序无法使用Visual C++库。有关详细信息,请参阅《选择部署方法》。
在这个新的清单世界中,将DLL文件复制到程序的工作目录似乎行不通。
我的下一个猜测是捣鼓一下所需的注册表项,以便将文件填充到WinSxS目录中并自己填充它们(而不是使用那个4MB的程序)。
[编辑]软件经常更新,因此强烈推荐使用DLL文件而不是静态链接。[/编辑]
如何成功地分发必要的文件并降低开销?