如何使应用程序快捷方式保持同步?

时间:2009-07-24 17:32:07

标签: c# installer shortcuts auto-update

我有一个应用程序自动更新程序,它会检查新的更新,将包含app.exe的现有文件移动到新文件夹中,并将新版本.exe + .dll复制到app文件夹中

一切都运行良好而没有问题但是有一个小故障 - 原始安装时创建的快捷方式变得无效

有没有办法以编程方式修复这些快捷方式?

1 个答案:

答案 0 :(得分:1)

您可以使用WshShell对象更新快捷方式(以识别文件夹和位置),使用Scripting.FilesystemObject进行更改。

以下是有关WshShell对象的MSDN文章: http://msdn.microsoft.com/en-us/library/aew9yb99(VS.85).aspx

这是替换VB脚本中的快捷方式链接的示例:

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