cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
MurtyIN
Level 2

Basic MSI project InstallShelid automation using Powershell script

Hello,

I want to automate my Basic MSI project (.ism porject) using Powershell scripting. I'm using Installshield 2018 version.Through script, I want to update the below details and also need to handle errors occurred(if any).

Installation info -> General Info tab -> Product version, Title
Media -> Releases -> Express -> MSI Package File Name

Even, I'm unable to create an object and below is the code.

$designerProject = New-Object -ComObject "ISWiAuto24.ISWiProject"
$ismFilepath = "$scriptPath\Designer.ism"
$designerProject.OpenProject($ismFilepath)

Getting below error (this is partial error list).

New-Object : Retrieving the COM class factory for component with CLSID {520F427A-A0C0-48DA-B1D6-5AD84FEFD1A8} failed due to the following error:
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At D:\Murty Build Testing\ToolkitDesignerMSI\BuildToolkitOneDesingerMSI.ps1:78 char:24
+ ... $designerProject = New-Object -ComObject "ISWiAuto24.ISWiProject"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [New-Object], COMException
+ FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand

Plz anyone help me in this.

Thanks,
MurtyIN
Labels (1)
0 Kudos
(7) Replies
phanik
Level 6

you can achieve the same by using VB script as well


If Wscript.Arguments.Count = 0 Then
Wscript.Echo "Please enter the command arguments. >> Build version number"
End If



Set m_ISWiProject = CreateObject("IswiAuto23.ISWiProject")

If ( IsObject(m_ISWiProject) = False)Then
Wscript.Echo "IS2016 Automation Object creation failed."
End If

strFile = Wscript.Arguments(0)
svPVer = Wscript.Arguments(1)
svVar = Wscript.Arguments(2)

WScript.echo svVar

m_ISWiProject.OpenProject strFile

WScript.echo "Opened project" & strFile

'Set pProperty = m_ISWiProject.ISWIProperties.Item("BUILDVERSION")

'pProperty.Value = svVar

WScript.echo svPVer

m_ISWiProject.ProductVersion = svPVer

m_ISWiProject.SaveProject

m_ISWiProject.CloseProject
0 Kudos
dpothugunta5208
Level 3

Hello MurtyIN,

Did you got a solution. i am having the same error with the power shell. it was working fine up untill 2016. after upgrade i am getting the same error as yours. please let me know if you have a solution.
0 Kudos
Roman1
Level 9

$scriptPath = "C:\devX11-Installations\test"
$ISWiProj = New-Object -ComObject ISWiAuto24.ISWiProject
$ismFilepath = "$scriptPath\test.ism"
$ISWiProj.OpenProject($ismFilepath)


$ISWProjRelease = $ISWiProj.ISWiProductConfigs.Item("Product Configuration 1").ISWiReleases.Item("Release 1")

$ISWProjRelease.Build()
$ISWiProj.closeProject()

exit

## USE Powershell x86 ! ##
0 Kudos
rrajeshkumar
Level 2

I am currently working on the licensed InstallShield 2018 and facing an issue i.e: ActiveX component can't create object: 'IswiAuto21.ISWiProject'.

Below are the VB Script, which tries to create the Activex components:

Set m_ISWIProject = CreateObject("IswiAuto21.ISWiProject")
m_ISWIProject.OpenProject(WScript.Arguments(0))
m_ISWIProject.ProductName = WScript.Arguments(1)
m_ISWIProject.SaveProject()
m_ISWIProject.CloseProject()
m_ISWIProject = ""


And but it failing when call the script like below:
"c:\Windows\SysWOW64\cscript" //nologo Release.vbs


The VB Script throwing the error, can you please let me know what is the issue and how to resolve it?


Environment used:

OS: Windows 10 x64
Install Shield: 2018 R2 version
0 Kudos
banna_k
Revenera
Revenera

Can you try to create the object with "IswiAuto24.ISWiProject" for InstallShield 2018, as mentioned in the below replies.
0 Kudos
svengalamr
Level 4

Did the IswiAuto24.ISWiProject change worked for you?
0 Kudos
svengalamr
Level 4

Did the IswiAuto24.ISWiProject change worked for you?

Thanks
Sesha

rrajeshkumar wrote:
I am currently working on the licensed InstallShield 2018 and facing an issue i.e: ActiveX component can't create object: 'IswiAuto21.ISWiProject'.

Below are the VB Script, which tries to create the Activex components:

Set m_ISWIProject = CreateObject("IswiAuto21.ISWiProject")
m_ISWIProject.OpenProject(WScript.Arguments(0))
m_ISWIProject.ProductName = WScript.Arguments(1)
m_ISWIProject.SaveProject()
m_ISWIProject.CloseProject()
m_ISWIProject = ""


And but it failing when call the script like below:
"c:\Windows\SysWOW64\cscript" //nologo Release.vbs


The VB Script throwing the error, can you please let me know what is the issue and how to resolve it?


Environment used:

OS: Windows 10 x64
Install Shield: 2018 R2 version
0 Kudos