Publish-NAVApp

Publishes an Extension to the app catalog of the specified Microsoft Dynamics NAV Server instance.

Syntax

Publish-NAVApp
       [-IdePath <String>]
       [[-ServerInstance] <String>]
       [-Path] <String>
       [-PassThru]
       [[-LogPath] <String>]
       [-SkipVerification]
       [[-PackageType] <String>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Publish-NAVApp
       [-IdePath <String>]
       [[-ServerInstance] <String>]
       [-Path] <String>
       [-PassThru]
       [[-LogPath] <String>]
       [-SkipVerification]
       [[-PackageType] <String>]
       -ApplicationDatabaseName <String>
       [-ApplicationDatabaseServer <String>]
       [-ApplicationDatabaseCredentials <PSCredential>]
       [-ServiceAccount <String>]
       [-SandboxDatabaseName <String>]
       [-SandboxDatabaseServer <String>]
       [-SandboxDatabaseCredentials <PSCredential>]
       [-SqlTimeout <UInt32>]
       [-Force]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Publish-NAVApp
       [-IdePath <String>]
       [[-ServerInstance] <String>]
       [-Path] <String>
       [-PassThru]
       [[-LogPath] <String>]
       [-SkipVerification]
       [[-PackageType] <String>]
       -SandboxDatabaseName <String>
       [-SandboxDatabaseServer <String>]
       [-SandboxDatabaseCredentials <PSCredential>]
       [-SqlTimeout <UInt32>]
       [-Force]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Use the Publish-NAVApp cmdlet to publish an Extension from a package file (.app) to the app catalog of the specified Microsoft Dynamics NAV Server instance. Once published, you can install the Extension for individual tenants.

If you have deployed your NAV database to Azure SQL Database, you will need to create a new database to use as the sandbox for completing the publishing process. Use the SandboxDatabaseName, SandboxDatabaseServer, and SandboxDatabaseCredentials parameters to specify the connection information for the database to use as the sandbox.

Examples

EXAMPLE 1

Publish-NAVApp -ServerInstance DynamicsNAV91 -Path '.\Proseware SmartApp.app'

This example publishes the Extension from the Proseware SmartApp.app package to the DynamicsNAV91 server instance.

EXAMPLE 2

Publish-NAVApp -ServerInstance DynamicsNAV91 -Path '.\Proseware SmartApp.app' -PassThru

          Name                  Publisher              Version                   ServerInstance
          ----                  ---------              -------                   --------------
          Proseware SmartApp    Proseware, Inc.        2.3.4.500                 DynamicsNAV90

This example publishes the Extension from the Proseware SmartApp.app package to the DynamicsNAV91 server instance and then returns an Extension object.

EXAMPLE 3

Publish-NAVApp -ServerInstance DynamicsNAV91 -Path '.\Proseware SmartApp.app' -LogPath c:\temp\myerror.log

Description


This example will attempt to publish the Extension from the Proseware SmartApp.app package to the DynamicsNAV91 server instance. The -LogPath will specify the path to a file where errors will be written. If the file exists then errors will be appended.

EXAMPLE 4

Publish-NAVApp -ServerInstance DynamicsNAV91 -Path '.\Proseware SmartApp.app' -SandboxDatabaseName DynamicsNAV90_Sandbox -SandboxDatabaseServer NAV_SQLServer -SandboxDatabaseCredentials (Get-Credential)

This example publishes the Extension from the Proseware SmartApp.app package to the DynamicsNAV91 server instance by using the DynamicsNAV90_Sandbox database on the NAV_SQLServer in Azure as a sandbox. All data within the DynamicsNAV91_Sandbox database will be overwritten.

EXAMPLE 5

Publish-NAVApp -ServerInstance DynamicsNAV91 -Path '.\System.app' -PackageType SymbolsOnly

This example publishes the Symbols package to the DynamicsNAV91 server instance. Use the SymbolsOnly switch to package Microsoft provided symbol packages only, and not regular packages. The SymbolsOnly works for Extensions V2.0 only.

Parameters

-ApplicationDatabaseCredentials

Specifies the user name and password of a SQL Server Authentication login account that provides access to the application database in SQL Server. You use this parameter to access the database by using SQL Server Authentication. If you want to use Windows Authentication, then you can omit this parameter.The login account must be a member of the db_owner role on the database. If the sandbox database is an Azure SQL Database, the user name must follow the pattern @, e.g. navadmin@z8bdostg9d.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationDatabaseName

The name of an existing NAV SQL database that you want to use as the Application for completing the publishing process, such as 'DynamicsNAV_App'.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationDatabaseServer

Specifies the name of the computer on which the SQL Server instance for the application database is installed.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before executing the command.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation about the data in the provided sandbox database being overwritten.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdePath

Specifies the path to the Dynamics NAV IDE executable (finsql.exe).

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogPath

Specifies the path where you want to save the log file for any potential publication errors. If the file exists, any errors are added to the log file.

Type:String
Position:40
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageType

Specifies the Extension Package type that you want to publish to the Microsoft Dynamics NAV Server instance.

Type:String
Position:246943
Default value:Extension
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Returns an Extension object for the published Extension. The Extension object contains the properties of the Extension, such as name, publisher, version.

Type:SwitchParameter
Position:21
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Specifies the path to the Extension Package file that you want to publish to the Microsoft Dynamics NAV Server instance.

Type:String
Position:20
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SandboxDatabaseCredentials

Specifies the user name and password of a SQL Server Authentication login account that provides access to the sandbox database in SQL Server.

You use this parameter to access the database by using SQL Server Authentication. If you want to use Windows Authentication, then you can omit this parameter.

The login account must be a member of the db_owner role on the database.

If the sandbox database is an Azure SQL Database, the user name must follow the pattern <username>@<azureserverid>, e.g. navadmin@z8bdostg9d.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SandboxDatabaseName

The name of an existing SQL database that you want to use as a sandbox for completing the publishing process, such as 'DynamicsNAV91_Sandbox'. A database will automatically be created on the same SQL Server as the NAV application database if not provided. If your NAV application database is deployed as an Azure SQL Database, then you must provide an existing database since the cmdlet isn't able to automatically create a new sandbox database. The current content of the sandbox database will be overwritten.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SandboxDatabaseServer

Specifies the name of the computer on which the SQL Server instance for the sandbox database is installed.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerInstance

Specifies the Microsoft Dynamics NAV server instance that the Extension will be published to, such as DynamicsNAV91.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceAccount

Specifies the name of the windows service account used by the server to access the NAV Application Database. Only needed when not supplying an existing sandbox database.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipVerification

Forces the command to run without verifying the authenticode signature.

Type:SwitchParameter
Position:246942
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SqlTimeout

The time (in seconds) to wait before terminating an attempt to execute a command on SQL Server, such as reading content or restoring the database from a .bak file.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Describes what would happen if you executed the command without actually executing the command.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False