Es gibt mehrere Möglichkeiten, wie Sie dies tun könnte .... je nach IS Projekttyp (MSI, Install etc.)
1) eine Variable wie Product_Name im Property Manager erstellen, setzen Sie es in Ihr installscript und rufen Sie es ab, um Ihren * .exe-Namen zu ändern
2) Mit SQL können Sie programmatisch den Produktname abrufen und den * .exe-Namen festlegen. Durchsuchen Sie den Direkteditor (Installation Designer -> Zusätzliche Werkzeuge -> Direkteditor) nach der genauen Position der Tabelle/des Werts, die Sie benötigen. Zum Beispiel (unten), mit VBScript, ändere ich den Pfad zum Installationsverzeichnis der Dateien, die ich in das IS-Projekt einlese. Ähnlich kann dies für jede Tabelle im IS Direct Editor gemacht werden. Mit einem Tool wie Visual Build Pro würde ich Ihnen auch helfen. Es ist die $ 100 wert!
Set oMSI = CreateObject("WindowsInstaller.Installer")
On Error Resume Next
' open ISM file in transacted mode
Set oDB = oMSI.OpenDatabase("C:\Path\to\myProject.ism", 1)
strQuery = "Select * FROM `ISPathVariable` WHERE `ISPathVariable`.`ISPathVariable` = 'InstallTreeFolder'"
'////////////////////////////////////////////////////////////
'// Update Path Variable
' fetch the one and only samplesource record
Set oView = oDB.OpenView(strQuery)
oView.Execute
Set oRec = oView.Fetch
' change field 2, the Value field
oRec.StringData(2) = "%INSTALL_TREE_ROOT%"
' update the changed record
oView.Modify 2, oRec
' close the view, commit changes, clean up
oView.Close: oDB.Commit: Set oMSI = Nothing
Ich habe Ihren ersten Vorschlag (# 1) versucht, aber InstallShield lässt Sie nicht Variablen im Setup-Dateinamen verwenden. –