Installation 更新的MATLAB应用程序安装为新的独特应用程序

Installation 更新的MATLAB应用程序安装为新的独特应用程序,installation,unique,matlab,reinstall,Installation,Unique,Matlab,Reinstall,不久前,我们通过MATLAB App Packager向用户分发了一个工具箱,以便在用户不必处理搜索路径的情况下,更容易提供未来的更新。现在,我们希望发布一个更新版本。通常,重新打包工具箱应生成一个新的.mlappinstall文件,该文件要求用户升级。相反,MATLAB现在将新版本的应用程序视为一个独特的新应用程序,并重新安装,而不是升级。因此,用户将在应用程序窗格中两次使用该应用程序,一次使用过时版本,另一次使用新版本 我们无法在MATLAB文档或在线中找到对此的解释。当我们安装更新的应用程

不久前,我们通过MATLAB App Packager向用户分发了一个工具箱,以便在用户不必处理搜索路径的情况下,更容易提供未来的更新。现在,我们希望发布一个更新版本。通常,重新打包工具箱应生成一个新的.mlappinstall文件,该文件要求用户升级。相反,MATLAB现在将新版本的应用程序视为一个独特的新应用程序,并重新安装,而不是升级。因此,用户将在应用程序窗格中两次使用该应用程序,一次使用过时版本,另一次使用新版本

我们无法在MATLAB文档或在线中找到对此的解释。当我们安装更新的应用程序(以便两个版本都出现在应用程序窗格中)时,进一步更改它将按预期进行升级,因此很遗憾,我们无法提供最低限度的工作示例,因为我们无法重现该问题


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

当出现这种不连续时,您是通过在MATLAB的文件浏览器中单击原始.prj文件来重新打包,还是运行了“Package app”再次填写相同的属性

我认为决定应用程序唯一标识的是“Package app”向导在后台生成的GUID。如果在MatlabGUI中打开现有的.prj,它将重新使用该GUID。如果您再次运行“Package App”,则无论您为各种开发者可见的应用程序属性输入了什么,都将获得一个新的GUID

您可以在.prj和.mlappinstall文件中查找,自己查看。(我在任何地方都找不到它的文档;我只是翻了翻文件,做了一些尝试和错误。).prj只是XML,.mlappinstall文件是一个具有“开放打包约定”布局的zip文件。在.prj中,有一个
param.guid
元素包含guid。在.mlappinstall中,它的元数据/appProperties.xml位于
GUID
元素中

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