gpt4 book ai didi

installation - 安装项目不替换程序集文件

转载 作者:行者123 更新时间:2023-12-04 07:45:04 27 4
gpt4 key购买 nike

  • 我有一个 Windows 应用程序项目
    (A.exe) 调用另一个项目
    类库 (B.dll)。
  • A.exe 有一个按钮 (myButton)
    从 B.dll 调用方法 Method1。
  • 安装我创建的应用程序
    一个安装项目 ASetup.vdproj,其
    主要产出是项目 A。
  • 编译安装后,
    安装运行没有任何
    问题,当 A.exe 启动时,我
    单击 myButton,应用程序给出
    没有错误。
  • 然后我更改了 B.dll 并添加了一个新的
    方法 Method2.
  • myButton 现在正在从
    B.dll 而不是 Method1。
  • 我增加了 A.exe 的版本和
    增加版本
    ASetup.vdproj,但不增加
    B.dll 的版本。
  • 安装应用程序后我
    注意到我有两个安装
    控制面板中的 A.exe -> 添加/
    删除程序。
  • 运行A.exe时点击
    myButton 我收到一个错误,“
    方法 Method2 未在
    B.dll”,这意味着安装程序没有
    期间不更换 B.dll
    安装。
  • 我运行了卸载程序,我注意到
    文件没有被删除
    从磁盘。

  • 我的问题是:

    为什么第二次安装没有更新B.dll?
    如果增加B.dll的版本,在安装过程中会替换B.dll,但是问题是我现在的项目有很多外部程序集,修改与否很难控制。基本上,我想要的是在每次安装中替换所有程序集文件。

    我等待你们所有人的反馈。
    谢谢大家的关注。

    最佳答案

    添加/删除程序中的 2 个条目告诉我您更改了 ProductCode 属性,但在升级表中没有有效的行来正确定义主要升级。 MSI 将此视为碰巧安装到同一目录的 2 种不同产品。当您卸载这两个产品之一时,文件会一直保留,直到您卸载另一个产品。

    未覆盖的 DLL 向我表明您没有将 AssemblyFileVersion 属性从一个版本更改为另一个版本。第一次安装在 1.0.0.0 中复制,第二次安装说“1.0.0.0 已经存在,这里无事可做”并跳过它。

    关于installation - 安装项目不替换程序集文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087051/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com