2011-12-07 48 views
2

私たちは、IObjectSafetyを実装してスクリプトが安全であることを示すactivexオブジェクトを持っています。それは信頼できるサイトからインストールされます。私たちはまだこのページのコントロールがスクリプトには安全でないというIEの苦情を受け取ります。IObjectSafetyを実装していないのはなぜでしょうか

私たちのActiveXを実行しているサイトの管理者は、信頼できるゾーンであってもスクリプトに安全とマークされていないコントロールを有効にするのは嫌です。

私たちのタクシーとそのすべてのコンポーネントが署名されている(私たちはようやくuverifiedパブリッシャがMSIインストーラに入ったすべてのDLLを署名することにより、離れて行く製)

誰が作業にIObjectSafetyを棍棒する方法上の任意の考えを持っていますか?

+0

多分、その意図から誤解されています。 "OKボタンをクリックしてください。私はインストールするのが安全です。約束します。" –

+0

制御された設定で動作し、野生から何かをダウンロードしている指定アプリケーションのために、特に書かれたアクティブXと大きな違いがあります。私は個人的にIObjectSafetyの目的を理解していないと言われています。なぜなら、被害を意図している誰かがイエスと言うことを明らかにしているからです。 –

答えて

3

IObjectSafetyに正しいGUIDを使用していることを確認してください。あなたのインターフェイスは、特定のGUIDと、次のようになります。

[ComImport] 
// This GUID matters! 
[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] 
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 
public interface IObjectSafety 
{ 
    [PreserveSig] 
    int GetInterfaceSafetyOptions(ref Guid riid, out int pdwSupportedOptions, out int pdwEnabledOptions); 

    [PreserveSig] 
    int SetInterfaceSafetyOptions(ref Guid riid, int dwOptionsMask, int dwEnabledOptions); 
} 

はそこIObjectSafetyを実装するためにどのようにアウトラインいくつかのリンクがありますが、ここで私はcalls out the fact that the Guid mattersことがわかっただけです。私のコードでその変更を行った後、IEはもはや不平を言ったことはありません。

関連する問題