Install Product Engineering apps on-premises

  1. Make sure a Dynamics 365 Business Central installation is up and running, including a database. The example below shows how to create a CRONUS demo environment.
  2. Download the latest Quality Management package from:
  3. Open PowerShell ISE and run as Administrator.
    • Import the QM scripts in PowerShell and run the following sections.

Notes The script below is based on Quality Management as an example. Replace the app names where applicable: TI-Engineering Changes, TI-Lifecycle Base.

Install the NAV Modules:

Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\220\Service\Microsoft.Dynamics.Nav.Management.psm1"
Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\220\Service\NavAdminTool.ps1"

Update the variables (replace parts as required):

$apps = "TI-Common,Quality Management"
$serverInstance = 'BC215'
$buildArtifactFolder = "C:\IEMOnPrem\21.4.84356.0"
$appsSplit = $apps.Split(',')
$i = $appsSplit.Count

When updating an existing installation, first uninstall the extensions:

Do{
    $i--
  Write-Host "Uninstall & Unpublish $($appsSplit[$i])"

  $installedAppVersion = Get-NAVAppInfo -ServerInstance $serverInstance|Where-Object { $_.Name -eq $appsSplit[$i] }|%{"$($_.Version.Major).$($_.Version.Minor).$($_.Version.Build).$($_.Version.Revision)"}
  Uninstall-NAVApp -Name $appsSplit[$i] -ServerInstance $serverInstance -Version $installedAppVersion
  Unpublish-NAVApp -Name $appsSplit[$i] -ServerInstance $serverInstance -Version $installedAppVersion
}
Until($i -eq 0)

Install or update the extensions:

$apps.Split(',') | ForEach-Object {
    $appName = $_
    $AllAppFiles = Get-ChildItem -Path $buildArtifactFolder -Filter "*.app" -Recurse
    foreach ($AllAppFile in $AllAppFiles) {if ((Get-NAVAppInfo -Path $AllAppFile.FullName |Select-Object -expand Name) -eq $appName){$appFileName = $AllAppFile.FullName} }
    Write-Host "Install $_ ($appFileName)"
    $newAppVersion = Get-NAVAppInfo -Path $appFileName|%{"$($_.Version.Major).$($_.Version.Minor).$($_.Version.Build).$($_.Version.Revision)"}

    # for initial install use Install-NAVApp, for updates use Start-NAVAppDataUpgrade
    Publish-NAVApp -Path $appFileName -ServerInstance $serverInstance
    Sync-NAVApp -Name $appName -ServerInstance $serverInstance -Version $newAppVersion
    #Start-NAVAppDataUpgrade -Name $appName -ServerInstance $serverInstance -Version $newAppVersion
    Install-NAVApp -Name $appName -ServerInstance $serverInstance -Version $newAppVersion
}

Result:

Once completed, the following entries appear in Extension Management (based on the installed apps):

Name Publisher Version Is Installed Published As
STAEDEAN-Common STAEDEAN v.19.0.83403.0 v Global
PE-Quality Management STAEDEAN v.21.0.86838.0 v Global
PE-Engineering Change Management STAEDEAN v.22.0.93690.0 v Global
STAEDEAN-Lifecycle Base STAEDEAN v.23.0.97743.0 v Global
  • To access the QM functionality, change to the QM Portal role center.
  • To access the ECM functionality, change to the PE Engineering Changes Manager role center.
  • Lifecycle Base has no separate role center: type Lifecycle in Search.