2011-12-07 2 views
2

우리는 IObjectSafety를 구현하여 스크립트가 안전하다는 것을 나타내는 activex 객체를 가지고 있습니다. 그것은 신뢰할 수있는 사이트에서 설치합니다. 그러나 우리는 여전히이 페이지의 컨트롤이 스크립팅에 안전하지 않다는 IE 불만을 얻습니다.IObjectSafety를 구현하지 않는 이유는 차이를 만듭니다.

우리의 ActiveX를 실행하는 사이트의 관리자는 신뢰할 수있는 영역 임에도 불구하고 스크립팅에 안전하다고 표시되지 않은 컨트롤을 사용하는 것을 꺼립니다.

우리 택시와 모든 구성 요소가 서명

사람이 작업에 IObjectSafety를 괴롭히다하는 방법에 대한 어떤 생각을 가지고 (우리는 마침내 uverified 게시자가 MSI 설치에 가서 모든 DLL을 서명하여 멀리 갈 만든)?

+0

의도적으로 오해 한 것입니다. "확인 버튼을 클릭하여 설치해도 안전합니다." –

+0

제어 된 설정에서 실행중인 지정된 응용 프로그램에 대해 특별히 작성된 activex와 야생에서 무언가를 다운로드하는 것과는 큰 차이가 있습니다. 즉, 나는 개인적으로 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는 더 이상 불평하지 않습니다.

관련 문제