3 PowerShell scripts til at lave et udviklingsmiljø til Microsoft Dynamics NAV 2017 Extensions

I denne guide vil jeg gennemgå hvordan du ved hjælp af PowerShell kan lave 3 Microsoft Dynamics NAV 2017 installationer som kan bruges til at lave Extensions. De 3 installationer er som følger:

  • En “ren” Microsoft Dynamics NAV 2017 installation
  • En udvikler version til at lave kode i
  • En test version til at prøve Extensions

Forudsætninger

Forudsætningerne for at kunne opsætte et udviklingsmiljø til Microsoft NAV Extensions kræver følgende:

[tie_list type=”checklist”]

  • En standard installation af Microsoft Dynamics NAV 2017
  • Windows klienten
  • Development environment
  • Administrations værktøjerne
  • Server instance
  • SQL Server Database elementerne
  • Web Server elementerne
  • Backup af SQL databasen
  • Udvikler licens

[/tie_list]

Der kræves også at Power Shell er installeret og kan afvikles på PC’en. Som udgangspunkt bliver PowerShell altid installeret med Microsoft Dynamics NAV.

En “ren” Microsoft Dynamics NAV 2017 installation

Vi starter med at lave en “ren” Microsoft Dynamics NAV 2017 installation, da vi skal bruge en version der ikke er udviklet i når vi skal laves vores Extensions. Ved hjælp af nedenstående PowerShell script kan vi gøre de ting der skal til for at lave den “rene” version. For at det fungerer, så skal vi inden da have en SQL backup af databasen og en licens fil.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Importerer PowerShell fil fra NAV og angiver SQL backup
import-module 'C:\Program Files\Microsoft Dynamics NAV\100\Service\NavAdminTool.ps1'
$DbBackup = 'C:\temp\Database.bak'
 
# Angiver hvad den nye database skal hedde og på hvilken instans
New-NAVDatabase
-FilePath $DbBackup
-DatabaseName 'ItemClassification_Original'
-DatabaseServer ([net.dns]::gethostname())
-DatabaseInstance 'NAVDEMO'
-DataFileDestinationPath 'C:\Data\Databaser\ItemClassification_Original'
-logFileDestinationPath 'C:\Data\Databaser\ItemClassification_Original'
 
# Laver den nye NAV Server instans
New-NAVServerInstance
-ManagementSerciesPort 7145
-ClientServicesPort 7146
-SOAPServicesPort 7147
-ODataServicesPort 7148
-DatabaseName 'ItemClassification_Original'
-ServerInstance 'ItemClassification_Original'
 
# Starter den nye NAV Server instans
Set-NAVServerInstance -ServerInstance 'ItemClassification_Original' -Start
 
# Importerer licens filen
Import-NAVServerLicense C:\temp\licens.flf
-ServerInstance 'ItemClassification_Original'

En udvikler version til at lave kode i

Vi laver herefter, ved hjælp af nedenstående PowerShell script, en udvikler version. For at lave udvikler versionen så har vi ændret _Original til _Udvikling i scriptet og givet nye portnumre. Scriptet kræver ligesom det tidligere at der er en SQL backup og en licens fil.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Importerer PowerShell fil fra NAV og angiver SQL backup
import-module 'C:\Program Files\Microsoft Dynamics NAV\100\Service\NavAdminTool.ps1'
$DbBackup = 'C:\temp\Database.bak'
 
# Angiver hvad den nye database skal hedde og på hvilken instans
New-NAVDatabase
-FilePath $DbBackup
-DatabaseName 'ItemClassification_Udvikling'
-DatabaseServer ([net.dns]::gethostname())
-DatabaseInstance 'NAVDEMO'
-DataFileDestinationPath 'C:\Data\Databaser\ItemClassification_Udvikling'
-logFileDestinationPath 'C:\Data\Databaser\ItemClassification_Udvikling'
 
# Laver den nye NAV Server instans
New-NAVServerInstance
-ManagementSerciesPort 7245
-ClientServicesPort 7246
-SOAPServicesPort 7247
-ODataServicesPort 7248
-DatabaseName 'ItemClassification_Udvikling'
-ServerInstance 'ItemClassification_Udvikling'
 
# Starter den nye NAV Server instans
Set-NAVServerInstance -ServerInstance 'ItemClassification_Udvikling' -Start
 
# Importerer licens filen
Import-NAVServerLicense C:\temp\licens.flf
-ServerInstance 'ItemClassification_Udvikling'

En test version til at prøve Extensions

Vi laver som det sidste, ved hjælp af nedenstående PowerShell script, en test version. For at lave udvikler test så har vi ændret _Original til _Test i scriptet og givet nye portnumre. Scriptet kræver ligesom det tidligere at der er en SQL backup og en licens fil. Vi har også tilføjet den sidste del der starter en Web Server instans.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Importerer PowerShell fil fra NAV og angiver SQL backup
import-module 'C:\Program Files\Microsoft Dynamics NAV\100\Service\NavAdminTool.ps1'
$DbBackup = 'C:\temp\Database.bak'
 
# Angiver hvad den nye database skal hedde og på hvilken instans
New-NAVDatabase
-FilePath $DbBackup
-DatabaseName 'ItemClassification_Test'
-DatabaseServer ([net.dns]::gethostname())
-DatabaseInstance 'NAVDEMO'
-DataFileDestinationPath 'C:\Data\Databaser\ItemClassification_Test'
-logFileDestinationPath 'C:\Data\Databaser\ItemClassification_Test'
 
# Laver den nye NAV Server instans
New-NAVServerInstance
-ManagementSerciesPort 7345
-ClientServicesPort 7346
-SOAPServicesPort 7347
-ODataServicesPort 7348
-DatabaseName 'ItemClassification_Test'
-ServerInstance 'ItemClassification_Test'
 
# Starter den nye NAV Server instans
Set-NAVServerInstance -ServerInstance 'ItemClassification_Test' -Start
 
# Importerer licens filen
Import-NAVServerLicense C:\temp\licens.flf
-ServerInstance 'ItemClassification_Test'
 
# Laver en Web Server instans
New-NAVWebServerInstance
-ServerInstance 'ItemClassification_Test'
-WebServerInstance 'ItemClassification_Test'
-Server (([net.dns]::gethostname()))
-ClientServicesPort 7346

Konklussion

Vi har nu sat 3 installationer op, en uden rettede elementer, en til at kode i og en til at teste vores extension af i.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *