Publish-NAVApp
Publishes an Extension to the app catalog of the specified Business Central Server instance.
Syntax
Publish-NAVApp
[-Path] <String>
[-PassThru]
[-SkipVerification]
[[-PackageType] <String>]
[[-Tenant] <TenantId>]
[-Scope <NavAppScope>]
[-PublisherAzureActiveDirectoryTenantId <Guid>]
[-DependencyDescription <String>]
[-Force]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Publish-NAVApp
[-ServerInstance] <String>
[-Path] <String>
[-PassThru]
[-SkipVerification]
[[-PackageType] <String>]
[[-Tenant] <TenantId>]
[-Scope <NavAppScope>]
[-PublisherAzureActiveDirectoryTenantId <Guid>]
[-DependencyDescription <String>]
[-Force]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Description
Use the Publish-NAVApp cmdlet to publish an Extension from a package file (.app) to the app catalog of the specified Business Central 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 BC
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' -SandboxDatabaseName BC_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 BC_Sandbox database on the NAV_SQLServer in Azure as a sandbox. All data within the DynamicsNAV91_Sandbox database will be overwritten.
EXAMPLE 4
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
-DependencyDescription
DO NOT USE: This parameter is intended for Microsoft use only.
Specifies the version of each dependency of the publishing app to be used when compiling. If the parameter is used, the value must include information about every dependency, and every dependency must already be published. If not, the publishing operation will fail.
The value is stringified dictionary of the type GUID that has the format: {"<app ID 1>":{"Major":<n>,"Minor":<n>,"Build":<n>,"Revision":<n>}
Example: {"a64e94c6-2aa3-490a-9e3a-23dd047dcb72":{"Major":1,"Minor":0,"Build":0,"Revision":0}, "4dcc7853-f43a-462b-a69e-a9931341d90d": {"Major":1,"Minor":0,"Build":1,"Revision":23}}
Type: | String |
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 |
-PackageType
Specifies the Extension Package type that you want to publish to the Business Central Server instance.
Type: | String |
Accepted values: | Extension, SymbolsOnly |
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 Business Central Server instance.
Type: | String |
Position: | 20 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProgressAction
A common PowerShell parameter that determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider. Learn more.
Type: | ActionPreference |
Aliases: | proga |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PublisherAzureActiveDirectoryTenantId
Specifies the Microsoft Entra tenant ID of the publisher of this extension. This is used, for example, to block attempts in AL to read secrets from another publisher's key vault. For more information, see Using Key Vault Secrets in Business Central Extensions.
Type: | Guid |
Position: | Named |
Default value: | 00000000-0000-0000-0000-000000000000 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
Specifies the scope into which the specified extension is to be published.
Global: The extension is published for all tenants on the server.
Tenant: The extension is published into the per-tenant scope. To be usable by a tenant, it must also be published to that tenant.
Possible values: Global, Tenant
Type: | NavAppScope |
Accepted values: | Global, Tenant |
Position: | Named |
Default value: | Global |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ServerInstance
Specifies the Business Central server instance that the Extension will be published to, such as DynamicsNAV91.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
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 |
-Tenant
Specifies the tenant to publish the package to if it is being published into the tenant scope.
Note
In order to receive a signal for telemetry during a publish (or unpublish) operation, the -Tenant
parameter must be set explicitly to the specific tenant or default.
Type: | TenantId |
Aliases: | TenantId |
Position: | 246944 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
System.String
By value and by property name: ServerInstance
System.String
By value and by property name: Path
Microsoft.Dynamics.Nav.Types.Apps.NavAppScope
By property name: Scope
System.Guid
By property name: PublisherAzureActiveDirectoryTenantId