App-Installation
In diesem Abschnitt geht es um die Installation der COSMO Core Library AT App. Üblicherweise wird die Installation einmalig ausgeführt und nicht von einem Benutzer, sondern einem Administrator. Die Installation unterscheidet sich bei SaaS und On-Premises (OnPrem) Umgebungen.
SaaS Umgebung
In SaaS Umgebungen wird die App als Library-App geführt und ist daher nicht in den AppSource ersichtlich. Die App wird automatisch installiert, wenn Sie in Ihrer App eine Abhängigkeit auf die App setzen.
Auszug aus
{
"id": "30fc15ec-0ec8-418f-a2f9-d113eb73cbaa",
"name": "ALProject1",
"publisher": "Default Publisher",
"version": "1.0.0.0",
"dependencies": [
{
"id": "6f1e3666-7813-4802-9e59-9f6a66cb3276",
"name": "COSMO Core Library AT",
"publisher": "Cosmo Consult",
"version": "1.0.0.0"
}
]
}
Je nach der aktuellen Microsoft-Upgrade-Richtlinie verfügen Sie möglicherweise nicht über die aktuellste Version der App. Um auf die aktuellste Version zu aktualisieren, gehen Sie zum Dynamics 365 Business Central Admin Center und führen Sie das App-Upgrade für Ihre Umgebung durch.
On-Premises Umgebung
Abhängig von der Technologie werden unterschiedliche Skripte als Basis bereitgestellt, um die App und ihre Abhängigkeiten in On-Premises Umgebungen zu installieren. Das Compiler-Paket der App finden Sie im COSMO CONSULT Solution Portal. Prüfen Sie die technischen Spezifikationen der Version, um die minimal abhängige Version von Business Central und der Basisapplikation (Base Application) zu finden. Für Kundeninstallationen ohne Business Central-Entwicklerlizenz müssen Sie ein Laufzeitpaket der App erstellen und installieren (Microsoft Dokumentation).
Neben der Business Central Basisapplikation ist die App von weiteren Apps abhängig, die vorher installiert werden müssen:
- COSMO Licensing App
Docker
Um die Apps in einem Docker-Container zu installieren, muss das Modul BcContainerHelper installiert sein. Ändern Sie die Dateinamen, den Container-Namen und die Anmeldeinformationen gemäß den Werten Ihres Systems.
$licensingAppFileName = Join-Path $PSScriptRoot "COSMO Licensing.app"
$Global:containerName = "your-container-name"
$Global:credential = "your-credential"
function Install-CosmoAppToContainer {
Param (
[Parameter(Mandatory=$true)]
[string] $AppFileName
)
Publish-BcContainerApp `
-appFile $AppFileName `
-containerName $Global:containerName `
-credential $Global:credential `
-install `
-sync `
-skipVerification `
-scope "Global" `
-syncMode "Add"
}
try {
if (!(Get-Module -ListAvailable -Name "BcContainerHelper")) { throw "BcContainerHelper must be installed to run this script." }
Install-CosmoAppToContainer -AppFileName $licensingAppFileName
Install-CosmoAppToContainer -AppFileName $aptAppFileName
} catch {
throw "Error on installation: $($_.Exception.Message)"
}
Serverinstanz
Ändern Sie die Dateinamen und die Serverinstanz gemäß den Werten Ihres Systems.
$licensingAppFileName = Join-Path $PSScriptRoot "COSMO Licensing.app"
$Global:serverInstance = "your-server-instance"
function Install-CosmoAppToServerInstance {
Param (
[Parameter(Mandatory=$true)]
[string] $AppFileName,
[Parameter(Mandatory=$true)]
[string] $AppName
)
Publish-NAVApp `
-ServerInstance $Global:serverInstance `
-Path $AppFileName `
-SkipVerification `
-Scope Global
Sync-NAVApp `
-ServerInstance $Global:serverInstance `
-Name $AppName
Install-NAVApp `
-ServerInstance $Global:serverInstance `
-Name $AppName
}
try {
Install-CosmoAppToServerInstance -AppFileName $licensingAppFileName -AppName "COSMO Licensing"
} catch {
throw "Error on installation: $($_.Exception.Message)"
}