如何解决使用安装程序软件开发工具包重命名MSI内部的程序集
|| 我有一个遗留项目,其中有许多Visual Studio安装项目,可以为不同版本的第三方应用程序创建相同插件的安装包。 我正在尝试弄清楚如何构建安装项目,以便它们能够正常工作。 提取先前编译的MSI的内容和我在构建项目时获得的MSI的内容,在我的MSI内的Global Assembly Cache文件夹中的程序集与另一个在不同。另一个MSI在程序集名称后附加一个后缀。 作为MSI编译过程的一部分,他们显然使用Windows Installer的SQL查询字符串重命名了已编译MSI程序包中的程序集的脚本。 我有脚本,并且针对我的MSI运行它不会重命名程序集文件,就像我提取MSI内容时所看到的一样。 我想应该重命名程序集的SQL语句具有以下形式:update MsiAssemblyName set Value = \'AssemblyNameSuffix\' where Value = \'AssemblyName\'
运行脚本确实会以某种方式更改MSI,但我看不到重命名了程序集文件。
问题是,是否可以使用SQL重命名MSI中的程序集文件,如果可以,如何实现?
谢谢!
解决方法
不,不可能。即使您将File表更新为具有新的文件名,该程序集也将被破坏,因为.NET程序集中包含描述其程序集名称,名称空间和类的元数据。重命名文件会破坏它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。