Reply

programmatically set active version

Is there anyway to (using vb.net) set the active version of Solid Edge like the SESetActiveVersion?

 

I've got a few colleagues who have more then one version of SE for review purposes on their computer. However from time to time they to forget switch to the right version giving all sorts of odd errors. Thus I want to program a menu that gets and or sets the active version and starts SE.

 

Maarten Elings | Mechanical Engineer
2 REPLIES

Re: programmatically set active version

Hi,

 

no, such a function isn't available.

 

Kind regards,
Wolfgang Kunert - www.wksyspro.de

Re: programmatically set active version

As I am also developing on multiple version simultaneously, I use the following VB script, to activate a specific version of SE. The script was simplified to do only the activation. If you want, you can also start SE immediately after, clean temp files, etc...

NOTE: You may need to update the path to the SESetActiveVersion executable.

Spoiler
Set WShell = CreateObject("WScript.Shell")
Set FSO	   = CreateObject("Scripting.FileSystemObject")

On Error Resume Next
'On Error GoTo 0

'Activating SolidEdge
' Samples: "20x86" => V20 (32bit)
'          "21x86" => ST  (32bit)
'          "103"   => ST3 (64bit)
sLastSEVersion = WShell.RegRead("HKCU\Software\MBSoft\Macros\LastSEVersion")
sVersion = InputBox("Which version of Solid Edge do you want to activate ?", _
										"Version:", sLastSEVersion)
If sVersion = "" Then
	sVersion = sLastSEVersion
End If

sMainVersion = sVersion
 sProgramFolder = "Program Files"
If Right(sVersion,3) = "x86" Then
  sMainVersion = Left(sVersion, Len(sVersion)-3)
	sProgramFolder = "Program Files (x86)"
End If

'Define the subfolder name
If CInt(sMainVersion) < 21 Then
	sSubFolder = "Solid Edge V" + sMainVersion
Else
	nSTVersion = CInt(sMainVersion) - 100
  If nSTVersion > 1 Then
    sSubFolder = "Solid Edge ST" + CStr(nSTVersion)
  Else
    sSubFolder = "Solid Edge ST"
  End If
End If

If sVersion <> sLastSEVersion Then
	If nSTVersion < 6 Then
	  WShell.Run """C:\" + sProgramFolder + "\" + sSubFolder + "\Program\MakeVerCurr.exe""", 1, vbTrue
	Else
	  WShell.Run """C:\Program Files\SESetActive\SESetActiveVersion.exe""", 1, vbTrue
	End If
  'WShell.Run "regsvr32 S:\Program\SEInstallData.dll", 1, vbTrue
End If

WShell.RegWrite "HKCU\Software\MBSoft\Macros\LastSEVersion", sVersion

Set FSO    = Nothing
Set WShell = Nothing