To-Increase FOOD Installation Documentation

Initialize FOOD

When deployed on premises a new database must be created, "build-up" with the Microsoft System Application and completed by the FOOD Application.

The process starts with completing an installation of the set as obtained from the Download Microsoft Business Central On-Premises site. Once the installation is completed and you have access through a modern client to the CRONUS demo company follow these steps (you can copy and paste the code to ISE):

NOTES 1

  • The CreateDatabase.ps1 script assumes that the AL Development Environment is installed from the Dynamics 365 Business Central DVD. Copy the path to the $systemApp variable. The $systemApplication variable must point to the path from where the Setup was run.
  • The CreateDatabase.ps1 script assumes a SQL server without instances, make sure when specifying the installation options in the Dynamics 365 Business Central setup the database instance is left blank.
  • From your desktop run Windows PowerShell ISE as administrator.

CreateDatabase.ps1

# Import the NAV Management modules in ISE:
Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\150\Service\Microsoft.Dynamics.Nav.Apps.Management.psd1"  
Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\150\Service\Microsoft.Dynamics.Nav.Management.psd1"  

# Define the variables for the script (current values are provided as examples):  
$serverInstance = 'BC150'  
$databaseName = "ToIncrease"  
$databaseServer = "localhost"  
$applicationVersion = '15.2.39040.0'  
$applicationFamily = 'W1'  
$systemApp = "C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\150\AL Development Environment\System.app"  
$systemApplication = "C:\ ... \Applications\System Application\Source\Microsoft_System Application.app"  
$companyName = 'Food Basic BC15'  

# Create a new database:  
New-NAVApplicationDatabase -DatabaseName $databaseName  -DatabaseServer $databaseServer  
Set-NAVServerConfiguration -KeyName DatabaseName -KeyValue $databaseName -ServerInstance $serverInstance  
Restart-NAVServerInstance -ServerInstance $serverInstance  

# Connect the new database to the Business Central service:  
Set-NAVApplication -ApplicationVersion $applicationVersion -ServerInstance $serverInstance -Force  
Set-NAVApplication -ApplicationFamily $applicationFamily -ServerInstance $serverInstance -Force  
Sync-NAVTenant -ServerInstance $serverInstance -Mode Sync  

# Import License File
Import-NAVServerLicense -LicenseFile c:\sw\license\BC-15-DEV.flf -ServerInstance BC150
Restart-NAVServerInstance -ServerInstance $serverInstance 

# Publish the Microsoft system application in the database:  
Publish-NAVApp -Path $systemApp -ServerInstance $serverInstance -PackageType SymbolsOnly  
Publish-NAVApp -Path $systemApplication -ServerInstance $serverInstance  
Sync-NAVApp -Name "System Application" -ServerInstance $serverInstance  

# Install the Microsoft system application in the database and create a new Company:  
Install-NAVApp -Path $systemApplication -ServerInstance $serverInstance  
New-NAVCompany -CompanyName $companyName -ServerInstance $serverInstance -CompanyDisplayName $companyName  

Install FOODapps.ps1

To prepare for this script you need to download the To-Increase FOOD Artifacts and unzip the downloaded folder on your desktop. Make sure to update your local path in the script (\ ... )

NOTES 2

  • Upon succesful completion of the script Extension Management will list the published and installed the extensions. The System Application shows the Dynamics 365 Business Central build number, while the To-Increase applications show the To-Increase build number. Example: 15.3.41357.0
  • 15 is the Business Central major version, must be the same between Microsoft and To-Increase.
  • 3 is the Business Central minor version (update), must be the same between Microsoft and To-Increase.
  • 41357 is the build number, will be different between Microsoft and To-Increase.
# When running this script in a seperate session in ISE we need to import the modules again
Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\150\Service\Microsoft.Dynamics.Nav.Apps.Management.psd1"
Import-Module "C:\Program Files\Microsoft Dynamics 365 Business Central\150\Service\Microsoft.Dynamics.Nav.Management.psd1"

# Set the variables before running the script
$serverInstance = 'BC150'
$version = '15.3.0.0'
$name = 'FOOD Application'
$appFolders = "C:\SW\FOOD\Base Application\app\To-Increase_FOOD Application_15.3.0.0.app"
Publish-NAVApp -Path $appFolders -ServerInstance $serverInstance -SkipVerification
Sync-NAVApp -Name $name -ServerInstance $serverInstance -Version $version
Install-NAVApp -Name $name -ServerInstance $serverInstance -Version $version

Install FOOD in Docker container

$containerName = "FOODNA20-2"
$artifactUrl = Get-BCArtifactUrl -version "20.2.41144.41423" -country us -type Onprem -select Latest
$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'Password' -AsPlainText -Force)
$licenseFile = "C:\RSP\Flf Files\BC-V20-Q3-2022-12-03-dev.flf"
$companyName = "CRONUS USA - TEST"

New-BCContainer     -doNotCheckHealth `
                    -accept_eula `
                    -updateHosts `
                    -useBestContainerOS `
                    -containerName $containerName `
                    -artifactUrl $artifactUrl `
                    -auth "UserPassword" `
                    -Credential $credential `
                    -accept_outdated `
                    -assignPremiumPlan `
                    -includeAL `
                    -licenseFile $licenseFile `
                    -Shortcuts DesktopFolder `
                    -memoryLimit 10G
                    

Clean-BcContainerDatabase -containerName $containerName -credential $credential 

Restart-BcContainer -containerName $containerName

Publish-BcContainerApp -appFile "C:\RSP\FOODNA.20.2.202209.0\FOODNA.20.2.202209.0\15BASE\APP\To-Increase B.V._FOOD Application_20.2.202209.0.app" -containerName $containerName -credential $credential -install -scope Tenant -sync -useDevEndpoint

New-CompanyInBcContainer -companyName $companyName -containerName $containerName

Restart-BcContainer -containerName $containerName

To-Increase Common Documentation