这是在 Windows 上部署应用程序的一个非常令人沮丧的部分。我们有两个选择:在我们的应用程序目录中重新分发所需的 DLL,或者使用合并模块和管理员权限在系统范围内安装它(如果尚未安装)。在我看来,微软可以简单地对他们的 DLL 进行数字签名,并允许将这些 DLL 安装到 WinSxS 中而无需提升。.NET 也可以这样做。
静态运行时和根本不使用 CRT 不是选项,因为我的一些代码是 C++/CLI,它与 /MT 开关互斥(也可能与其他 C++ 标准库,如 STLPort,但我还没有确认)。