Я пытаюсь создать установщик MSI, который устанавливает надстройку (.xla) в Microsoft Excel (2007 в моем случае). Установка идет хорошо. Я использую «Custom Action», который работает этот файл VBScript:Удаление надстройки Excel с помощью VBScript
Dim SourceDir
Dim objExcel
Dim objAddin
SourceDir = Session.Property("CustomActionData")
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Add
Set objAddin = objExcel.AddIns.Add(SourceDir & "addin.xla", True)
objAddin.Installed = True
objExcel.Quit
Set objExcel = Nothing
проходит расположение надстройки в сценарий, используя свойство CustomActionData. Надстройка копируется в папку внутри «Program Files», где она будет оставаться до тех пор, пока она не будет удалена. Это выполняется самим установщиком.
Проблема заключается в том, когда я использую скрипт удаления:
Dim objExcel
Dim addin
On Error Resume Next
Set objExcel = CreateObject("Excel.Application")
For i = 0 To objExcel.Addins.Count
Set objAddin= objExcel.Addins.item(i)
If objAddin.Name = "addin.xla" Then
objAddin.Installed = False
End If
Next
objExcel.Quit
Set objExcel = Nothing
надстройка создает пользовательскую панель инструментов в Excel и [установка. При удалении панель инструментов не удаляется, и запись надстройки в разделе «Надстройка» в настройках Excel также не является.
Может ли кто-нибудь сказать мне, могут ли эти две вещи программно использоваться с помощью VBScript?
заранее спасибо
Надстройка теперь перемещен в неактивные надстройки приложений ". Помогает. – pancake