This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Can multiple versions of ISWiAutomation be registered on the same machine??
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 14, 2016
10:02 AM
Can multiple versions of ISWiAutomation be registered on the same machine??
Hi,
We run automation scripts to update versions numbers, product / package code, add components and other updates within the .ism files. This all works great but one issue I see if depending on what version of .ism file I am trying to update I need to register that particular IS .dll. even though I have all the IS versions installed on the same machine.
So if I am updating a Spring2012 ism file I need to run this command prior to running my automation script.
regsvr32.exe "c:\Program Files (x86)\InstallShield\2012Spring\System\ISWiAutomation19.dll"
If I then want to update a 2014 ism file I would then have to run this command first:
regsvr32.exe "c:\Program Files (x86)\InstallShield\2014\System\ISWiAutomation21.dll"
Can, and if so how, do I get different versions registered on the same machine?
Thanks,
Erik
We run automation scripts to update versions numbers, product / package code, add components and other updates within the .ism files. This all works great but one issue I see if depending on what version of .ism file I am trying to update I need to register that particular IS .dll. even though I have all the IS versions installed on the same machine.
So if I am updating a Spring2012 ism file I need to run this command prior to running my automation script.
regsvr32.exe "c:\Program Files (x86)\InstallShield\2012Spring\System\ISWiAutomation19.dll"
If I then want to update a 2014 ism file I would then have to run this command first:
regsvr32.exe "c:\Program Files (x86)\InstallShield\2014\System\ISWiAutomation21.dll"
Can, and if so how, do I get different versions registered on the same machine?
Thanks,
Erik
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 15, 2016
12:54 PM
Each version of InstallShield automation interface has unique COM information. You can instantiate a copy of ISWiProject by an IS version differently with the following VB and VBScript syntax:
2012 Spring:
2014:
2012 Spring:
Set pISWiProject19 = CreateObject("IswiAuto19.ISWiProject")
2014:
Set pISWiProject21 = CreateObject("IswiAuto21.ISWiProject")
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2017
01:49 PM
This is a chunk of the switch statement in the powershell script I use but I still need to run the commands shown before to register the correct version first.
switch($schema){
'776' { #776 = IS2015
LogWrite "Schema is $schema using IS2015: setting ISwiAuto22.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto22.ISWiProject
;break
}
'775' { #775 = IS2014
LogWrite "Schema is $schema using IS2014: setting ISwiAuto21.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto21.ISWiProject
;break
}
'774' { #774 = IS2013
LogWrite "Schema is $schema using IS2013: setting ISwiAuto20.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto20.ISWiProject
;break
}
'773' { #773 = IS2012Spring
LogWrite "Schema is $schema using IS2012Spring: setting ISwiAuto19.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto19.ISWiProject
;break
}
'772' { #772 = IS2012
LogWrite "Schema is $schema using IS2012: setting ISwiAuto18.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto18.ISWiProject
;break
}
}
switch($schema){
'776' { #776 = IS2015
LogWrite "Schema is $schema using IS2015: setting ISwiAuto22.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto22.ISWiProject
;break
}
'775' { #775 = IS2014
LogWrite "Schema is $schema using IS2014: setting ISwiAuto21.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto21.ISWiProject
;break
}
'774' { #774 = IS2013
LogWrite "Schema is $schema using IS2013: setting ISwiAuto20.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto20.ISWiProject
;break
}
'773' { #773 = IS2012Spring
LogWrite "Schema is $schema using IS2012Spring: setting ISwiAuto19.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto19.ISWiProject
;break
}
'772' { #772 = IS2012
LogWrite "Schema is $schema using IS2012: setting ISwiAuto18.ISWiProject"
$m_ISWiProj = new-object -comobject IswiAuto18.ISWiProject
;break
}
}
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2017
02:06 PM
For me, installing the Stand-alone build itself - running the installer for each one - registered the various automation interfaces in their respective folders and they did not interfere with one another. Then in our script we just instantiate whichever object we want - by its unique name - and away it goes. I wonder why you would have to keep registering the same items each time? I guess it can't hurt, but I'm curious why that would be necessary?
Chad
Chad