代码之家  ›  专栏  ›  技术社区  ›  Greg Domjan

当版本之间存在已知问题时,为什么windows并排(winSxS)安装自动升级策略?

  •  1
  • Greg Domjan  · 技术社区  · 16 年前

    我们有一个应用程序编译使用MSVC2K5,SP1(版本762 msvcrt80)

    一切都很好,直到有人在同一台机器上安装.Net3.0SP1,同时安装了msvcrt80版本1433和自动升级的策略。

    现在我们到处都有随机的撞车事件和不开心的顾客。

    我们能不能改掉winSxS目录中愚蠢的“升级”策略? 是否有一个选项/标志仅针对特定版本进行编译,并且仍然自动生成清单?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Stefan    14 年前

    查找为特定版本的CRT生成的清单。然后将pragma添加到应用程序的主文件中:

    #pragma comment(linker,"/manifestdependency:\"type='win32' "            \
            "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".CRT' "              \
            "version='" _CRT_ASSEMBLY_VERSION "' "                          \
            "processorArchitecture='x86' "                                  \
            "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")