Frage

Ich habe eine Anwendung, die automatische Aktualisierungsfunktion für neues Updates überprüft, die vorhandenen Dateien einschließlich den app.exe in einen neuen Ordner verschoben und kopiert die neue Version .exe + .dll in den App-Ordner

alles hat perfekt funktioniert ohne Probleme, aber es gibt eine kleine Panne - die Verknüpfungen zu dem Zeitpunkt der ursprünglichen erstellt installiert ungültig

Gibt es eine Möglichkeit, um programmatisch diese Verknüpfungen zu beheben?

War es hilfreich?

Lösung

Sie können eine Verknüpfung aktualisieren mit WshShell Objekt (auf Ordner und Standorte zu identifizieren) und die Scripting.FileSystemObject um die Änderungen vorzunehmen.

Hier ist ein Artikel auf MSDN über das WshShell Objekt: http://msdn.microsoft.com/en-us /library/aew9yb99(VS.85).aspx

Dies ist ein Beispiel eine Verknüpfung, in VB Script zu ersetzen:

Sub ReplaceShortcut (folder, target, targetTarget)
  set oFso = CreateObject("Scripting.FilesystemObject")
  Set oFolder = oFso.GetFolder(folder)
  Set oFiles = oFolder.Files

  For Each oFile In oFiles

    If LCase(oFso.GetExtensionName(oFile.name)) = "lnk" Then
        Set oLnk = oShell.CreateShortcut(oFile.path)
        If instr(1, oLnk.TargetPath, target, 1)<>0 Then
            oLnk.TargetPath = replace(oLnk.TargetPath, target, targetTarget)
            oLnk.Save
        End If
    End If
  Next
End Sub
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top