2011-01-14 2 views
0

Ich habe eine Frage zu meinem ActiveX-Steuerelement nicht immer im IE auf anderen Computern arbeiten.ActiveX Control funktioniert immer auf meiner Maschine - unvorhersehbares Verhalten bei anderen?

Kontext: Ich arbeite an einer internen App für meine Firma. Es wurde entwickelt, um ein eigenständiges Webseiten-Konfigurationstool zu sein, mit dem Sie eine statische angepasste Version unserer Web-App anzeigen können. Der Benutzer kann die Farben, Bilder und andere Einstellungen auswählen, die er sehen möchte, und diese werden in der statischen Mockup-/Vorschau-Version auf ihrem Computer vorhanden sein, wenn sie auf eine Schaltfläche klicken.

Implementierung: Meine Javascript-Datei erstellt ein Dateisystem/ActiveX-Objekt, das im Wesentlichen eine temporäre Javascript-Datei erstellt, in die eine Liste von Werten geschrieben wird. Wenn der Benutzer dann eine Vorschau der Konfiguration anzeigt, wird die JavaScript-Datei gefunden und die Werte werden dynamisch in dom usw. geladen. Natürlich funktioniert diese Funktionalität nur in Internet Explorer und ist bestenfalls schattig, aber das ist meine einzige Möglichkeit, eine Null-Konfiguration zu implementieren , clientseitige dynamische Webanwendung.

Problem: Wenn ich mein Skript austeste, fordert Internet Explorer mich zweimal zu ActiveX-Steuerelementen auf und ich sage "ja" zu ihnen und die ActiveX-Funktionen funktionieren. Ich mache das jedes Mal, wenn ich meine Seite öffne. Aber manchmal, wenn ich die Datei an eine andere Person sende, damit sie sie verwenden kann, erhalten sie die Benachrichtigungen nicht, so dass es nicht funktioniert. Aber manchmal bekommen sie Benachrichtigungen und es funktioniert funktioniert! Ich benutze Standard-Sicherheitseinstellungen für IE, so dass es keinen Unterschied zwischen meinen Einstellungen und ihren geben sollte.

Konnte das mit meinen Benutzerberechtigungen vs. theirs oder der Tatsache, dass die Dateien schreibgeschützt sind (da sie von der Quellcodeverwaltung kommen und auch schreibgeschützt sind, wenn sie auf dem freigegebenen Laufwerk abgelegt werden) verwandt werden unbekannte dunkle Microsoft Kräfte jenseits des menschlichen Verständnisses?

Danke, Josh

+3

Einer der möglichen Gründe ist, dass Ihr ActiveX-Steuerelement einige Abhängigkeiten zu externen Bibliotheken aufweist, die auf Ihrem System installiert und nicht auf einigen anderen installiert sind. Es sind möglicherweise CRT/MFC-Abhängigkeiten, wenn Ihr ActiveX in VS2005/2008 oder in anderen Bibliotheken geschrieben ist. Verwenden Sie den Dependency Walker, um sie zu überprüfen. – DReJ

Antwort

0

Ich glaube, Sie eine HTA (HTML Application) anstelle einer Webseite erstellen möchten. Das Schreiben von HTAs gibt Ihnen mehr Rechte, was ActiveX-Objekte betrifft. Überprüfen Sie diese Seite von Microsoft: http://msdn.microsoft.com/en-us/library/ms536496(v=vs.85).aspx.

Um Ihre Frage zu Berechtigungen zu beantworten, glaube ich, dass einige Ihrer IE-Einstellungen wahrscheinlich verhindern, dass Webseiten ActiveX-Objekte verwenden. Ihre Einstellungen sind möglicherweise so, dass Sie gefragt werden, wann immer ActiveX-Objekt erstellt werden soll.

Verwandte Themen