Heaventools

   English English  Deutsch Deutsch

startseite   produkte   resource tuner console   beispiel-skripts

Versions-Information hinzufügen, bearbeiten und aktualisieren

Dieser Code zeigt, wie Versionsvariablen (Versionsnummern, Produktnamen, Urheberrechtszeichen usw.) in allen vorhandenen Windows-EXE-, DLL- oder RES-Dateien in einem bestimmten Ordner geändert werden können.

Resource Tuner Console bietet eine bequeme Möglichkeit, Versionsvariablen direkt von der Befehlszeile aus zu ändern. Wenn eine Datei noch keine Versionsinformationen enthält, erstellt Resource Tuner Console diese automatisch für Sie.

Hinweis: Stellen Sie sicher, dass im Skriptcode keine Zeilenumbrüche vorhanden sind, da VBScript erfordert, dass der gesamte Befehl in einer Zeile steht.

Edit Version Information

sub ProcessFile (SrcPath, DestPath, FileName)
  ' Legt den Sprachkonstantenwert auf Englisch-US fest.
  LangID = 1033 ' Hier gibt die ID "1033" die Sprache für Englisch-US an.
  ' Retrieve the Code Page
  CP     = ScriptUnit.CodePageFromLangID(LangID)
  PEFileProxy.OpenFile SrcPath & FileName
  if not PEFileProxy.Terminated then
    if PEFileProxy.HasResources then

'--------------------------- Set the language --------------------------------------
      ' Setzt die Englisch-US-Sprache für alle Ressourcen in der Datei.
      ' Es ändert die Sprache für alle Ressourcen in der Datei auf einen 
      ' einheitlichen Wert. 
      ' Diese Operation ist optional: Wenn Sie die Sprache für Ressourcen nicht
      ' ändern müssen, können Sie sie einfach auskommentieren.      
      ResourcesProxy.SetLanguage LangID, SKIP_IF_EXISTS
'-----------------------------------------------------------------------------------

      'Open the Version Info for editing.      
      if ResourcesProxy.OpenVersionInfo("1", LangID, CREATE_IF_NOT_EXIST) then
	  
        VersionInfoProxy.SetFileVersion  5, 1, 4, 20, LangID, True, True, True
        VersionInfoProxy.SetProductVersion 5, 1, 0, 0, LangID, True, True, True

        S1 = "My Company"
        S2 = "Yet Another Super Application"
        S3 = "Hot product"
        S4 = "Copyright \0xA9 2024 My Company, Inc."
        S5 = "your trademarks here..."
        S6 = "Next Big Thing"
        S7 = "Powered by Resource Tuner Console"

      VersionInfoProxy.EditStringFileInfo "CompanyName", S1, CP, LangID, True, True
      VersionInfoProxy.EditStringFileInfo "FileDescription", S2, CP, LangID, True, True
      VersionInfoProxy.EditStringFileInfo "InternalName", S3, CP, LangID, True, True
      VersionInfoProxy.EditStringFileInfo "LegalCopyright", S4, CP, LangID, True, True
      VersionInfoProxy.EditStringFileInfo "LegalTrademarks", S5, CP, LangID, True, True
      VersionInfoProxy.EditStringFileInfo "ProductName", S6, CP, LangID, True, True
      VersionInfoProxy.EditStringFileInfo "Comments", S7, CP, LangID, True, True

        ResourcesProxy.CloseVersionInfo
        PEFileProxy.Compile
        PEFileProxy.SaveAsNewImage DestPath & FileName
      else
        'Issue a warning in case of error
        PEFileProxy.PostDebugString "Can't open/create Version Info resource..."
      end if
    end if
  end if
end sub	

'----------------------------------------------------------------------------------
'
' Die Hauptroutine.
'
' Es bearbeitet bestimmte Dateierweiterungen im Quellverzeichnis.
'
' Zunächst durchsucht es das angegebene Quellverzeichnis nach verfügbaren Dateien.
' Anschließend ruft es für jede gefundene Datei mit bestimmter Dateierweiterung
' (EXE, DLL, RES) die Prozedur ProcessFile auf, um die erforderlichen Änderungen
' vorzunehmen.
'
'----------------------------------------------------------------------------------

Sub Main 
  dim SrcPath, DestPath, File_System_Object, Folder_Object, File_Object, File_Collection
  PEFileProxy.UpdateCheckSum = True
  PEFileProxy.CreateBackUp   = False

  ' Specify the path to the Source Folder
  SrcPath = ScriptUnit.CurrentFolder & "src\"

  ' Specify the path to the Destination Folder
  DestPath = ScriptUnit.CurrentFolder & "release\"

  ' Scan the specified folder, and then process all files found.
  set File_System_Object = CreateObject("Scripting.FileSystemObject")
  set Folder_Object      = File_System_Object.GetFolder(SrcPath)
  set File_Collection    = Folder_Object.Files
  for each File_Object in File_Collection

  ' Get an extension and convert it to one uniform lowercase, regardless of
  ' whether the original filename contains upper or lowercase characters.   
    FL_EXT = LCase(File_System_Object.GetExtensionName(File_Object.name))

  ' Check if the file has the specified file extension and process it.
  ' Add or remove file extensions as needed.
    if FL_EXT = "exe" or FL_EXT = "dll" or FL_EXT = "res" then
      ProcessFile SrcPath, DestPath, File_Object.name
      PEFileProxy.PostDebugString "*************************************"
    end if
  Next 
End Sub

Um die Änderungen, die man in Test-EXE-Dateien gemacht hat, zu sehen, empfehlen wir die Benutzung von Resource Tuner GUI, einem visuellen Ressourcen-Editor.


BEISPIEL-SKRIPTBIBLIOTHEK

Nach der Installation von Resorce Tuner Console finden Sie den Demo Scripts-Ordner im Verzeichnis, in dem RTC installiert wurde. In diesem Demo-Ordner befinden sich 12 Unterverzeichnisse mit Skriptbeispielen und Beispieldateien.

Alle Beispielskripte sind einsatzbereit. Wählen Sie eine der .BAT-Dateien in den Demo Scripts-Ordnern aus, um das Beispielskript auszuführen. Das Skript wird Änderungen in der Test-EXE-Datei vornehmen. Die resultierende Datei wird im Verzeichnis Release unter dem Verzeichnis erstellt, das das Skript enthält.

 

Schritt-für-Schritt Anleitung wie man Skripte benutzt

 Laden Sie Resource Tuner Console herunter und erfahren Sie, wie es Ihre Produktivität steigern kann.