2011-11-23 2 views
1

C#에서 프로그래밍 방식으로 앱의 dcom 속성을 설정하는 작업을 자동화하고 있습니다. 구성 요소 서비스를 통해 수동으로 설정을 변경하면 레지스트리에 다음 항목이 표시됩니다. 하지만 프로그래밍 방식으로해야합니다. 이것은 내가 레지스트리에서이 항목을 작성했던 것입니다 :C에서 프로그래밍 방식으로 레지스트리에 이진 항목을 만듭니다.

  1. 열기 구성 요소 서비스 -> 의하여 Dcom -> 응용 프로그램을 찾을 수
  2. 마우스 오른쪽 버튼으로 클릭하고 속성 -> 보안 탭 -> 시작 및 활성화 권한 -> - 사용자 정의 결과> 편집 및 내장 \ IIS_IUSRS에게 여기

을 추가 : 당신은 단순히 버지니아를 작성하려면

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{0B902D3B-6517-4EBD-B61B-6F5830A77578}] 
@="TestClient.AccBkrcn" 
"LaunchPermission"=hex:01,00,04,80,74,00,00,00,84,00,00,00,00,00,00,00,14,00,\ 
    00,00,02,00,60,00,04,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,\ 
    05,12,00,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,\ 
    20,02,00,00,00,00,18,00,03,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,38,\ 
    02,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,04,00,00,00,01,02,\ 
    00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,20,00,00,\ 
    00,20,02,00,00 

답변

0

C#을 사용 레지스트리에 위 루, 당신은 Microsoft.Win32 네임 스페이스의 RegistryKey 클래스를 사용할 수 있습니다 :

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Classes\AppID\{0B902D3B-6517-4EBD-B61B-6F5830A77578", true); 
    key.SetValue("TestClient.AccBkrcn", new byte[] { 01,00,04,80,74,00,00,00,84,00,00,00,00,00,00,00,14,00, 
    00,00,02,00,60,00,04,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00, 
    05,12,00,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00, 
    20,02,00,00,00,00,18,00,03,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,38, 
    02,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,04,00,00,00,01,02, 
    00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,20,00,00, 
    00,20,02,00,00 }); 

편집 : 브렌트이 지적 하듯이

, 당신은 0X 또는 각 숫자를 앞에해야합니다 이 작동하지 않습니다.

+0

16 진수 리터럴 앞에 0x가 없으므로이 코드는 컴파일되지 않습니다. 유효 숫자가있는 대부분의 리터럴은 0을 갖기 때문에 8 진수로 해석됩니다. 정수 리터럴 구문은 http://goo.gl/f3xQ2를 참조하십시오. –

+0

@ BrentM.Spell, 정확합니다, 감사합니다, 편집했습니다. –

1

방법, 특히 SetValue을 사용하여이 작업을 수행 할 수 있습니다. SetValue 메서드를 사용하면 Byte [] 배열이 자동으로 이진 파일로 저장됩니다.

관련 문제