New-NAVAppManifest

New-NAVAppManifest

Creates a new in-memory manifest object with the specified metadata for a Microsoft Dynamics NAV extension.

Syntax

Parameter Set: Default
New-NAVAppManifest [-Name] <String> [-Publisher] <String> [[-Id] <Guid> ] [[-Description] <String> ] [[-Version] <Version> ] [[-CompatibilityId] <Version> ] [-Dependencies <String[]> ] [-Prerequisites <String[]> ] [ <CommonParameters>]

Detailed Description

Use the New-NAVAppManifest cmdlet to create a new in-memory manifest object that defines an extension along with its required prerequisites and dependencies. The manifest object can then be written to disk using the New-NAVAppManifestFile cmdlet. The manifest is required when creating the Extension package file (.navx) using the New-NAVAppPackage cmdlet. The manifest property values can be changed using the Set-NAVAppManifest cmdlet.

Parameters

-CompatibilityId<Version>

Specifies the compatibility ID of the extension. The compatibility ID is a version string in the format of Major.Minor.Build.Revision, with a default value of 1.0.0.0 if not provided. The value is used to indicate whether there are compatibility related code changes between different versions of the extension. If a new version of the extension does not break compatibility, leave the compatibility ID the same as the previous version.

Aliases

AppCompatibilityId

Required?

false

Position?

7

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Dependencies<String[]>

Specifies the path to a package file (.navx) for another extension that this extension depends on. Use a comma (,) to separate the paths to multiple .navx files., such as in the following example: C:\Proseware\SmartStuffBase.navx, C:\Proseware\ProsewareBase.navx

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Description<String>

Specifies the description for the extension.

Aliases

AppDescription

Required?

false

Position?

5

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Id<Guid>

Specifies the unique identifier for the extension. A unique identifier will be generated if a value is not provided. The same unique identifier should be used for each new version of the extension.

Aliases

AppId

Required?

false

Position?

4

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Name<String>

Specifies the name of the extension.

Aliases

AppName

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Prerequisites<String[]>

Specifies the objects that must exist in order to deploy the extension to a Microsoft Dynamics NAV Server instance. The prerequisites is a string in the format of type=ID, where type can be any Microsoft Dynamics NAV object type such as Table, CodeUnit, or Page. Use a comma (,) to separate the prerequisites, such as in the following example: Table=397, CodeUnit=78

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Publisher<String>

Specifies the publisher of the extension, such as your company name.

Aliases

AppPublisher

Required?

true

Position?

3

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Version<Version>

Specifies the version of the extension. The version is a string in the format Major.Minor.Build.Revision with a default value of 1.0.0.0 if not provided. The value should be incremented for each new version of the extension.

Aliases

AppVersion

Required?

false

Position?

6

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see    about_CommonParameters.

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • NavAppManifest

Examples

-------------------------- EXAMPLE 1 --------------------------

Description

-----------

This example creates a new in-memory manifest object with the provided property values and defaults for properties not provided.

PS C:\> 
New-NavAppManifest -Name "Proseware SmartStuff" -Publisher "Proseware, Inc." -Description "First Extension by Proseware"  

AppId              : 384ed42e-534b-491f-9c4b-dfc8140bbc38
AppName            : Proseware SmartStuff
AppPublisher       : Proseware, Inc.
AppDescription     : First Extension by Proseware
AppVersion         : 1.0.0.0
AppCompatibilityId : 1.0.0.0
Capabilities       : {}
Prerequisites      : {}
Dependencies       : {}
                        

-------------------------- EXAMPLE 2 --------------------------

Description

-----------

This example creates a new in-memory manifest object with values provided for all properties.

PS C:\> 
New-NavAppManifest -Name "Proseware SmartStuff" -Publisher "Proseware, Inc." -Description "First Extension by Proseware" -Version "2.3.4.500" -CompatibilityId "2.0.0.0" -Id 384ed42e-534b-491f-9c4b-dfc8140bbc38 -Dependencies C:\Proseware\SmartStuffBase.navx, C:\Proseware\ProsewareBase.navx -Prerequisites Table=397, CodeUnit=78

AppId              : 384ed42e-534b-491f-9c4b-dfc8140bbc38
AppName            : Proseware SmartStuff
AppPublisher       : Proseware, Inc.
AppDescription     : First Extension by Proseware
AppVersion         : 2.3.4.500
AppCompatibilityId : 2.0.0.0
Capabilities       : {}
Prerequisites      : {Table=397, CodeUnit=78}
Dependencies       : {SmartStuff Base, Proseware Inc., 2.0.0.300, Proseware Base, Proseware Inc, 2.0.0.0}
                        

-------------------------- EXAMPLE 3 --------------------------

Description

-----------

This example uses New-NAVAppManifestFile cmdlet to persist the new in-memory manifest to a file. This can then be saved under source control for later use.

PS C:\> 
New-NavAppManifest -Name "Proseware SmartStuff" -Publisher "Proseware, Inc." -Description "First Extension by Proseware" | New-NavAppManifestFile -Path ".\Manifest-Proseware SmartStuff.xml"                        

-------------------------- EXAMPLE 4 --------------------------

Description

-----------

This example shows how to pass the in-memory manifest to the New-NAVAppPackage cmdlet to get a .navx file.

PS C:\> New-NAVAppManifest -Name "Proseware SmartStuff" -Publisher "Proseware, Inc." -Description "First Extension by Proseware" | New-NAVAppPackage -Path 'C:\Proseware SmartStuff.navx' -SourcePath C:\NavAppFiles

Extending Microsoft Dynamics NAV Using Extension Packages