2010-12-05 19 views
0

je suis arrivé le retraçage suivant dans mon script d'installation:Python win32com Erreur

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}' 

Je ne l'ai jamais vu celui-ci avant et avoir aucune idée de ce que cela signifie. Des idées?

Edit:

je pense qu'il vient de ce morceau de code:

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) 

Répondre

0

Cela signifie que COM ne pouvait pas instancier la classe avec id {4FBE7FE9-4AD1-4D70-BB77-66963016FD09} (ce qui est probablement HNetCfg.FwMgr, le Windows Firewall scripting interface).

Je pense que vous devez être un administrateur pour faire cela, donc cela pourrait être un problème d'autorisation.

Si vous avez des privilèges d'administration et que cela ne fonctionne toujours pas, cette classe a peut-être été désenregistrée. Essayez d'émettre la commande:

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

Non, je ne suis même pas sûr de savoir comment procéder. –

+0

@Zachary, d'accord, j'ai mis à jour ma réponse. –

+0

Je l'ai fait, il a dit qu'il a été enregistré, mais cela ne fonctionne toujours pas et soulève la même erreur. –