2009-08-17 3 views
4

Ich verwende Installshield 2010 und frage mich, ob jemand weiß, wie das zu tun folgendes:Install - Get Version einer Datei

ich die Version meiner Haupt exe in meinem Installateur erhalten möchten und es den Namen machen Meine setup.exe InstallShield wird generiert. Irgendeine Idee, wie man das macht?

Antwort

3

Ich konnte die Automatisierungsdienste verwenden, um dies zu erreichen, die Programmierschnittstelle für InstallShield ist. Wenn ich mein Projekt in Visual Studio für meine Exe baue, führe ich eine Exe im Post-Build aus, die das InstallShield-Projekt auf die gleiche Version setzt.

3

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 
+2

Ich habe Ihren ersten Vorschlag (# 1) versucht, aber InstallShield lässt Sie nicht Variablen im Setup-Dateinamen verwenden. –

Verwandte Themen