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

>我有一个 Windows应用程序项目
(A.exe)调用一个项目
类库(B.dll).
> A.exe有一个按钮(myButton)
从B.dll调用方法Method1.
>安装我创建的应用程序
一个安装项目ASetup.vdproj,其中
主要产出是项目A.
>编译完设置后,
安装运行没有任何
问题,当A.exe开始和我
点击myButton,aplication给出
没有错误.
>然后我改变了B.dll并添加一个新的
方法方法2.
> myButton现在正在调用Method2
B.dll而不是Method1.
>我增加了A.exe和.的版本
增加版本
ASetup.vdproj,但不要增加
B.dll的版本.
>安装应用程序后我
注意到我有两个装置
控制面板中的A.exe – >添加/
删除程序.
>运行A.exe并单击时
myButton我得到一个错误,“
方法2未找到方法2
B.dll“,这意味着设置确实如此
在此期间不能取代B.dll
安装.
>我跑了卸载,我注意到了
文件没有被删除
来自磁盘.

我的问题是:

为什么第二次安装没有更新B.dll?
如果B.dll的版本增加,则B.dll将在安装期间被替换,但问题是我当前的项目有许多外部程序集,如果它们已被修改则难以控制.基本上,我想要的是每个安装中都替换所有的汇编文件.

我等待你们所有人的反馈.
感谢您的关注.

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

未被覆盖的DLL向我建议您没有将AssemblyFiLeversion属性一个构建更改为另一个构建.第一个安装在1.0.0.0中复制,第二个安装说“1.0.0.0已经存在,这里没什么可做的”并跳过它.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...