installation - 更新后的 MATLAB 应用程序安装为新的独特应用程序

标签 installation unique matlab reinstall

不久前,我们通过 MATLAB App Packager 向用户分发了一个工具箱,以便更轻松地提供 future 的更新,而用户无需处理搜索路径。现在,我们希望分发更新版本。通常,重新打包工具箱应生成一个新的 .mlappinstall 文件,该文件要求用户升级。相反,MATLAB 现在将新版本的应用程序视为独特的新应用程序,并再次安装而不是升级。因此,用户将在“应用程序” Pane 中两次使用该应用程序,一次在过时版本中,一次在新版本中。

我们无法在 MATLAB 文档或网上找到对此的解释。当我们安装更新的应用程序(以便两个版本都出现在“应用程序” Pane 中)时,进一步更改它将按预期升级它,因此不幸的是,我们无法提供最小的工作示例,因为我们无法重现该问题。

问题是这样的:MATLAB 如何建立应用程序的独特性?应用程序名称和作者字段与原始值相同,并且版本号递增,那么为什么 MATLAB 可能无法识别该应用程序已安装?

最佳答案

当您遇到这种不连续性时,您是通过在 Matlab 的文件浏览器中单击原始 .prj 文件来重新打包它,还是再次运行“Package App”并填写相同的属性?

我认为决定应用程序唯一标识的是“打包应用程序”向导在幕后生成的 GUID。如果您在 Matlab GUI 中打开现有的 .prj,它会重新使用该 GUID。如果您再次运行“打包应用程序”,您将获得一个新的 GUID,无论您为各种开发人员可见的应用程序属性输入什么内容。

您可以深入研究 .prj 和 .mlappinstall 文件来亲自查看这一点。 (我也找不到它的任何记录;我只是浏览了这些文件并进行了一些试验和错误。) .prj 只是 XML,而 .mlappinstall 文件是一个具有“开放打包约定”布局的 zip 文件。在 .prj 中,有一个包含 GUID 的 param.guid 元素。在 .mlappinstall 中,它位于 GUID 元素中的metadata/appProperties.xml 中。

如果您再次遇到同样的问题,请确保使用现有的 .prj 文件重新打包。或者,如果您没有它,一旦创建新的 .prj 文件,请从旧的 .mlappinstall 文件中的metadata/appProperties.xml 中挖掘旧的 GUID,并将其复制到新的 .prj 文件中,我认为它将表现为“相同”的应用程序。这甚至可以让您更改应用的名称和联系信息,并且它仍然会安装在旧版本之上。

关于installation - 更新后的 MATLAB 应用程序安装为新的独特应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22967776/

相关文章:

java - IntelliJ IDEA 是否可以在 64 位 Windows 系统上运行?

windows - 当我尝试卸载包含 NSSM 服务的软件时,失败

php在mysql中添加songID

c++ - 如何在我的代码中使用 Matlab 引擎(用于调用 `engOpenSingleUse()` )?

matlab - 元胞数组的向量化运算

javascript - 如何在 Vue 项目中使用 npm 设置 firebase v6.3.4?

java - 一切看起来都很完美,但是 Eclipse 安装程序无法安装,原因是找不到 JDK

r - 如何删除所有重复项,以便 NONE 留在数据框中?

Grails - 子类中的唯一约束

Matlab GUI 回调警告