Цитата Nun-Nun:
добавьте если не сложно. »
|
Добавил (удаление папок так же закомментировано):
Код:

If objFolder.Files.Count = 0 And objFolder.SubFolders.Count = 0 Then
'objFolder.Delete True
End If
но не проверял:
читать дальше »
Код:

Option Explicit
Dim objFSO
Dim arrTargetPaths
arrTargetPaths = Array("C:\WINDOWS\winhlp32.exe", "C:\WINDOWS\winhelp.exe", "C:\WINDOWS\Installer\{90110419-6000-11D3-8CFE-0150048383C9}\wordicon.exe")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
With WScript.CreateObject("Shell.Application")
ScanSubFolders objFSO.GetFolder(.NameSpace("shell:Start Menu").Self.Path), arrTargetPaths
ScanSubFolders objFSO.GetFolder(.NameSpace("shell:Common Start Menu").Self.Path), arrTargetPaths
End With
Set objFSO = Nothing
WScript.Quit 0
'=======================================================
'=======================================================
Sub ScanSubFolders(objFolder, arrTargetPaths)
Dim objSubFolder
Dim objFile
Dim elem
WScript.Echo "[" & objFolder.Path & "]"
For Each objFile In objFolder.Files
If UCase(objFSO.GetExtensionName(objFile.Path)) = UCase("lnk") Then
With WScript.CreateObject("WScript.Shell").CreateShortcut(objFile.Path)
For Each elem In arrTargetPaths
If UCase(elem) = UCase(.TargetPath) Then
WScript.Echo vbTab, "Name: ", objFSO.GetBaseName(objFile.Name)
WScript.Echo vbTab, "Path: ", objFile.Path
WScript.Echo vbTab, "Target: ", .TargetPath
WScript.Echo vbTab
'objFile.Delete True
Exit For
End If
Next
End With
End If
Next
For Each objSubFolder In objFolder.SubFolders
ScanSubFolders objSubFolder, arrTargetPaths
Next
If objFolder.Files.Count = 0 And objFolder.SubFolders.Count = 0 Then
'objFolder.Delete True
End If
End Sub
'=======================================================
Цитата Nun-Nun:
Предполагается, что каждый такой аддон будет проверять только наличие ранее установленной версии одной конкретной программы, и если находит, то удаляет её папку и ярлыки. Устанавливаемые программы (в подавляющем большинстве случаев) имеют всего один исполняемый файл, а при инсталляции создают в меню "Пуск" свою собственную папку с 1-5 ярлыками в ней, так что если пользователь ничего не менял, »
|
А как быть с теми программами, которые используют одну папку в Главном меню, например, MS Office и FrontPage?!
P.S. Есть подозрение, что Вы не сможете его использовать при установке в виде Addon'ов в таком виде из-за «CreateObject("Shell.Application")».