2009-07-24 6 views
1

J'ai une application mise à jour automatique qui vérifie les nouvelles mises à jour, déplace les fichiers existants, y compris le app.exe dans un nouveau dossier et copie la nouvelle version .exe + .dll dans le dossier de l'application deComment conserver les raccourcis d'application actuels/synchronisés?

tout fonctionne parfaitement sans problèmes, mais il y a un petit problème - les raccourcis créés au moment de l'installation d'origine deviennent invalides

Y at-il un moyen de corriger ces raccourcis par programme?

+1

Pourquoi sont-ils deviennent invalides? Changez-vous le nom du fichier .exe après la mise à jour, ou voulez-vous que les raccourcis fassent référence à l'ancienne version? –

Répondre

1

Vous pouvez mettre à jour un raccourci à l'aide de l'objet WshShell (pour identifier les dossiers et les emplacements) et de Scripting.FilesystemObject pour apporter les modifications.

Voici un article sur MSDN sur l'objet WshShell: http://msdn.microsoft.com/en-us/library/aew9yb99(VS.85).aspx

Ceci est un exemple de remplacer un lien de raccourci dans VB Script:

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 
Questions connexes