Python win32com Ошибка - PullRequest
       4

Python win32com Ошибка

0 голосов
/ 05 декабря 2010

Я получил следующую трассировку в моем скрипте установки:

Exception in Tkinter callback
Traceback (most recent call last):
  File "Tkinter.pyc", line 1410, in __call__
  File "Setup.py", line 233, in step6
  File "Setup.py", line 203, in step7
  File "Setup.py", line 143, in step8
  File "Setup.py", line 76, in step9
  File "win32com\client\gencache.pyc", line 540, in EnsureDispatch
  File "win32com\client\CLSIDToClass.pyc", line 46, in GetClass
KeyError: '{4FBE7FE9-4AD1-4D70-BB77-66963016FD09}'

Я никогда раньше не видел этого и понятия не имею, что это значит.Любые идеи?

Редактировать:

Я думаю, что это происходит из этого кода:

fw = win32com.client.gencache.EnsureDispatch('HNetCfg.FwMgr', 0)
apps = fw.LocalPolicy.CurrentProfile.AuthorizedApplications
newapp = win32com.client.Dispatch('HNetCfg.FwAuthorizedApplication')
newapp.Name="Web Lock by ZBrown Technology"
newapp.ProcessImageFileName=d+"/ZBrownTechnology/Web Lock/Proxy.exe"
newapp.Enabled = True
apps.Add(newapp)

1 Ответ

0 голосов
/ 05 декабря 2010

Это означает, что COM не смог создать экземпляр класса с идентификатором {4FBE7FE9-4AD1-4D70-BB77-66963016FD09} (который, вероятно, HNetCfg.FwMgr, интерфейс сценариев брандмауэра Windows ).

Я думаю, что для этого вам нужно быть администратором, так что это может быть только проблемой разрешения.

У вас есть права администратора, и он все еще не работает, возможно, этот класс каким-то образом не зарегистрирован. Попробуйте ввести команду:

regsvr32 %windir%\system32\hnetcfg.dll
...