Hi,
I have the same problem. I created a sandbox on BC Online from with the customer's data. On the live enviroment there is an old customerApp (v. 1.0.0.10005).
Now, I published a new fatherApp and a new version customerApp (v. 1.1901.2100.1007) and the new version of the customerApp now depends from the fatherApp.
The fatherApp is installed and the customerApp no. The error by the VS Code is "The request for path /v1.0/sandbox/dev/apps?SchemaUpdateMode=synchronize failed with code 422. Reason: Cannot install the extension [Project Name] by [Publisher Name] 1.0.0.1 for the tenant [Tenant] because an earlier version was already installed. Run Start-NAVAppDataUpgrade to upgrade the extension."
From the Extension Management on BC, I see the new version of customerApp published but not-installed and I didn't see the old version of customerApp. If I try to Install the new version BC return this error: "Multiple published extensions match the specified parameter values. You must specify more information to indicate which extension to use."
In the customerApp there is this upgrade codeunit:
codeunit 58001 "Customer Upgrade Codeunit"
{
subtype = Upgrade;
trigger OnValidateUpgradePerCompany();
var
MyAppInfo: ModuleInfo;
CustomerSetup: Record "Customer Setup";
begin
if NavApp.GetCurrentModuleInfo(MyAppInfo) then begin
Clear(CustomerSetup);
if NOT CustomerSetup.get then begin
CustomerSetup.Init;
CustomerSetup.Insert;
end;
CustomerSetup.AppID := MyAppInfo.Id;
CustomerSetup.AppName := Format(MyAppInfo.Name, 250);
CustomerSetup.AppPublisher := Format(MyAppInfo.Publisher, 250);
CustomerSetup.AppVersion := Format(MyAppInfo.AppVersion, 50);
CustomerSetup.AppDataVersion := Format(MyAppInfo.DataVersion);
CustomerSetup.Modify(true);
end;
end;
}
In the customerApp new version, I added one new table, very easy extension, and I deprecated a table created in the old version of customerApp with the property ObsoleteState = Removed;
Could you help me?
Thank you,
Roberto.