首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不报告MSI更新的VS2015扩展管理器-插入扩展

不报告MSI更新的VS2015扩展管理器-插入扩展
EN

Stack Overflow用户
提问于 2016-05-20 14:33:13
回答 3查看 327关注 0票数 2

我编写了使用MSI安装的Visual扩展。安装将一个extension.vsixmanifest文件放置在正确的位置,扩展名如预期的出现在extension中:

问题是,当我在Visual库上发布新版本时,扩展管理器不会报告它。我通过创建一个新的安装程序并编辑现有的页面来添加新版本。每个新安装程序都有一个新的ProductCode、PackageCode和ProductVersion (我更新了MSI安装项目和包含的extension.vsixmanifest中的版本号),但是UpgradeCode是相同的;在GitHub 这里上可以找到一个“升级”提交示例。

问题似乎是,当Visual扩展管理器查询扩展服务以获取我的扩展的最新版本时,它返回一个空字符串--这与使用无效扩展标识符进行查询的结果相同:

示例中成功查询的两个扩展是NuGet客户端工具 for VS2015和工具箱

我遗漏了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-31 19:13:17

OhhhhhhKAY。我已经解决了这个问题,结果是页面编辑器出现了问题。

添加扩展名时,将显示一个VSIX ID框:

当你编辑一个扩展(我在使用Chrome)时,这个框已经消失了!

它仍然在DOM中,但它被隐藏在视野之外。因此,我从未在表单中输入扩展的VSIX ID,它没有与其关联的值,因此扩展服务没有返回该ID的版本号。extensions使用extensions来查找已安装的扩展的最新版本,因此它没有报告我的新版本。

如果取消选择,则VSIX ID框将重新显示,然后重新选择扩展的受支持的Visual版本之一,因此我已经能够以这种方式分配ID。服务现在返回版本号,扩展管理器因此显示可用的更新:

票数 1
EN

Stack Overflow用户

发布于 2016-05-25 16:49:53

在安装程序项目的升级表中,您可能还需要提高ProductVersion并考虑正确的版本条件。如果这无助于研究这个问题,使用完整的日志(msiexec /i installer.msi /l*v logfile.log)进行安装,这可能会提供一些线索。最糟糕的情况是,您可能希望在RemoveFiles表中添加一个条目来删除该文件(在部署文件之前安装时),但这听起来很糟糕,我更希望避免它。

票数 0
EN

Stack Overflow用户

发布于 2016-05-27 18:39:28

我不认为这是一个问题的安装程序配置,假设您的安装程序,实际上,升级您的产品。如果我正确理解了你的问题,这就是扩展管理器的问题。

您试过从新版本字符串中删除尾随的.0吗?当比较3点版本和4点版本时,可能会有一个糟糕的/意外的比较结果。

您还可以尝试做一个更极端的版本号更改(提高主版本),以查看Extension是否会发现这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37349459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档