IProductCode

This interface is meant to edit the “Product Code” for specific languages present in the project.

Declaration

IProductCode: IDispatch

Methods

GetProductCode(Int LangId) returns ProductCode
Returns product code (ex: {6B6C73EB-EC6B-4CA1-872C-2075A622E0EF}) for a specified language id as detailed in the Microsoft documentation.

UpdateProductCode(String ProductCode, Int LangId)
Updates the product code for the specified language id with the value provided by the second parameter.

GenerateProductCode(Int LangId) returns ProductCode
Updates the product code for the specified language id with a generated value for product code and returns the new value.

SetDifferentValues()
Sets different values for product codes if there are multiple languages in the project.

SetSameValue()
If there are multiple languages in the project, they will share the same value as product code.

GenerateAll()
Generates a new product code for all languages in the project.

PrintProductCodes() returns ProductCodes
Returns a string with all the product codes and the corresponding languages.

Examples

$advinst = new-object -comObject "AdvancedInstaller"
$proj    = $advinst.CreateProject($advinst.ProjectTypes.Architect)

# generate new product code
$proj.ProductDetails.ProductCode.GenerateAll()
$new_prodCode = $proj.ProductDetails.ProductCode.GetProductCode()

# generate upgrade code
$upgradeCode     = $proj.ProductDetails.UpgradeCode.UpgradeCode
$new_upgradeCode = $proj.ProductDetails.UpgradeCode.GenerateUpgradeCode()

# load a project with multiple languages
$projPath = "C:\Tests\Powershell COM\multi-language.aip" 

# generate different product codes for each language
$projPath.ProductDetails.ProductCode.SetDifferentValues()

# get product code per language package
$pc_en = $projPath.ProductDetails.ProductCode.GetProductCode(1033)
$pc_fr = $projPath.ProductDetails.ProductCode.GetProductCode(1036)
$pc_tr = $projPath.ProductDetails.ProductCode.GetProductCode(1055)
$pc_de = $projPath.ProductDetails.ProductCode.GetProductCode(1031)

See also

IAdvinstProject

Product Details Tab

IUpgradeCode