지금 Windows 7을 사용하고 있다.
이번에 RC 버전이 나와 설치해 보았는데, 기존 beta 버전에 비해 자동 인식하는 드라이버 수나, 안정성이 매우 우수했다. (일부 사용자들은 예전 Beta 버전 보다 무거워 졌다는 말도 있지만, Beta 버전을 제대로 사용해 보지 못해 모르겠다. )

그런데, 지금 Windows 7을 설치한 노트북이 Fujitsu의 T2010 인데, 지문 인식 센서가 AuthenTec 이라는 업체에서 만든 장치가 달려 있다. 이번 Windows 7에서는 이런 지문인식 로그인 응용 프로그램도 Windows Update를 통해 제공했다. 그래서 기대되는 마음으로 지문 설정을 하는데, 이게 왠걸… 오류가 발생한다.

[ 지문 인식 실행 방법 : 시작 –> Control Panel –> User Account and Family Safety –> User Account –> ( 왼쪽 링크 목록 중 맨 아래에 있는) Manage your fingerprint data을 클릭.

오류가 나는 시점은 손가락을 선택한 후, 현재 계정의 암호를 넣고 다음을 누르면 발생한다.


이래저래 못 쓰고 있다가, 예전 회사 BDD 담당자가 해당 드라이버를 다운받아서 직접 인스톨 한다는 말에 우연히 찾은 링크의 도움을 받아 간신히 성공했다.
( 참고 블로그 : AuthenTec Fingerprint Sensor Driver (32-bit and 64-bit) for Windows 7 )

지금 설치한 Windows 7 버전은 RC로 Build번호 7100이다. 그리고 X64 즉 64비트 버전으로 설치되어 있다. 그래서 64 bit 드라이버를 다운로드 받았다. (다운로드 : w7wbf64.exe )

일단 위의 응용 프로그램을 다운로드 받고 설치를 한다. 만일 필자처럼 지문 인식 프로그램이 설치되어 있는 경우 위의 프로그램을 동작시키면 자동으로 지문인식 프로그램(TrueSuite 2.0)을 언 인스톨을 해버린다.
맨 처음에는 그 사실을 몰라 저 다운로드 받은 것을 실행하면 안되는 줄 알았다. (만일 Windows Update를 통해 지문인식 솔루션을 다운로드/설치하지 않았다면 상관 없다. )

일단, 다운 받은 프로그램을 설치를 한다. 모두 설치가 되었다면, 다시 한번 지문 인식 프로그램을 실행시켜 보자.

양키말이라, 별로 보고 싶지는 않겠지만, 이렇게 표시될 것이다.

"The Selected fingerprint reader has no management application installed"
- 선택된 지문인식 센서에 관련된 관리 프로그램이 설치되어 있지 않습니다.

즉 아까 언급한 프로그램을 실행한 경우 언인스톨을 해서 발생된 문제로 생각하면 된다. 즉 이 프로그램만 다시 설치해주면 된다. 그렇다고 다운 받은 프로그램을 다시 실행시키는 뭐하고, 지문 인식 관련 관리 프로그램만 다시 설치할 수 있는 방법이 있다.

C:\Program Files (x86)\AuthenTec, Inc\Authentec WBDI Driver Package

위치의 폴더를 열어보면 WIN7TS64.EXE 라는 파일(아마도 x86인 경우 C:\Program Files\AuthenTec, Inc\Authentec WBDI Driver PackageWIN7TS32.EXE 일 것으로 예상됨)을 다시 실행해주면 된다.

이 때 하는 작업이 바로 그 지문 인식 관련 관리 프로그램을 설치하는 작업인 것이다.
제대로 설치되었다면 C:\Program Files\WIN7TS 라는 폴더가 생기고, 그 안에 파일이 정상적으로 설치되어 있을 것이다.

이제 남은 것은 Reboot 후 지문 등록하는 일이다.


UPDATE :
위의 문제는 초기 드라이버 불안정 스러웠을때 발생되었는데, 요즘은 해결 되어서
더 이상 신경 안쓴 문제였습니다. 댓글을 통한 질문으로 위의 파일에 대한 파일 문의였는데,
요즘은 거의 벤더 사에서 직접 다운로드 받아서 하고 있습니다.

http://www.pc-ap.fujitsu.com/support/drv_lb_win7_T2010_W732.html

그리고, X86과 X64의 구분이 없습니다.
드라이버도 동일하게 사용되는 것 같더라구요.
728x90

옛날 자료들, .NET 1.0 시절에서 부터 내려온 자료들을 근간으로 하나씩 하나씩 체크하면서 진행했습니다. 그런데 생각보다 의외의 요소들이 너무 많아 헷갈려 포기 할 즈음 간신히 성공했습니다.

성공했던 내용을 기반으로 지금까지 제가 판단했던 각종 정보들을 정리해보도록 하겠습니다.
현재 이 작업은 .NET 2.0 기반으로 Visual Studio 2005를 기준으로 작성하고 테스트 되었습니다.
(아직 Visual Studio 2008에서는 해보지는 않았지만… 잘 되리라 그냥 막연히 짐작합니다. 2003 버전은,
외국에 많은 사례들이 있으므로 한번 찬찬히 보시면 금방 하실 수 있을 것입니다. )
그리고 구현 언어는 C# 입니다.

1. 프로젝트 생성

먼저 프로젝트 생성입니다. 사실 대부분의 다른 사이트들의 예제를 보게 되면 Class Library 기반으로 시작하게 끔 유도하곤 합니다. 그런데, 생각보다 설정하거나 구성해야 되는 부분이 너무 많아 무언가 노가다 하는 기분이 들더군요. 그러다가 찾은 프로젝트 형식이 바로 “Windows Control Library”  였습니다.

이 프로젝트를 생성하려면 File –> New –> Project 라는 메뉴에 들어가시면 아래와 같은 화면이 뜨는데 그 중, Windows Control Library를 선택하시면 됩니다.

2. 클래스 설정.

ActiveX로 보여줄 컨트롤에 해당하는 클래스를 열도록 합니다. 보통 기본적으로 UserControl1 이라는 이름의 클래스가 만들어지는데, 바로 이 부분을 수정하게 될 것입니다. 더블 클릭하면 디자인 모드로 넘어가므로, 코드 보기로 들어가 주시기 바랍니다.

 

2.1 using 추가하기

맨처음 해주셔야 할 작업은 using을 걸어주시는 작업이 됩니다. Active X 설정을 위해 약간의 Assembly 및 COM 처리를 해야 하는 부분이 있기 때문입니다. using 해야 할 항목은 다음과 같습니다.

using System.Runtime.InteropServices; // 동적으로 컴파일러 관련 옵션을 업데이트하는 값을 넣기 위한 부분
using System.Reflection; // 현재 어셈블리 정보를 동적으로 가져오기 위한 부분
using Microsoft.Win32; // Registry에 정보를 업데이트 하기 위한 부분

일단 위의 3가지만 들어가면 지금 부터 업데이트 하는 부분은 큰 문제 없이 들어갈 것입니다.

2.2 ActiveX로 노출될 컨트롤 Class 옵션 적용

다음은 Class에 옵션을 설정하는 작업입니다.

먼저 제일 처음에 보이는 클래스 위쪽에 다음 3가지를 추가하여 주시기 바랍니다. 물론 프로젝트의 속성 값을 수정하여 대입되는 값들도 있기는 하지만, 혹시나 모르니 그냥 넣어주시면 좋을 듯 싶습니다.

[Guid("20F0F02D-044C-4013-AFAE-F2241D95FDA3")]
[ComVisible(true)]
[ProgId("HindNo1.TestAX")]
[ClassInterface(ClassInterfaceType.AutoDual)]
public partial class UserControl1 : UserControl
{
      ………

대충 보시면 아시겠지만, [ ] 안에 들어가는 값이 바로 코드에 직접 박아서 명시적으로 설정하는 작업입니다.

맨 먼저 Guid 부분은 이 컨트롤의 고유한 ID 입니다. CLSID 같은 것으로 Active X 마다 각자 고유한 ID를 갖는데, 바로 그 ID를 의미합니다. 프로젝트 옵션에 있는 Assembly 옵션에도 이 비스무리한 값이 있는 것 같지만, 일단 저렇게 명시적으로 해주세요.( 전 VS 잘 몰라서, 장담드리기가 힘들어 가급적 그냥 제가 말씀 드린 방법대로 해보세요. )

두 번째에 있는 ComVisible 부분은 이 Control을 COM으로 노출 시키는 작업을 할 것인지 말 것인지를 결정하는 부분입니다. ActiveX도 어찌보면 COM의 일종이기 때문에, 반드시 COM 노출이 되어줘야 합니다. 이 역시 Project 속성의 Assembly 옵션에서 변경할 수 있긴 합니다.

세 번째 ProId 부분은 보통 VB 스크립트에서 쓰는 CreateObject(“xxxx.xxx”)의 xxxx.xxx 부분을 의미합니다. 일단 알기 쉽게 쓰는 것도 중요하지만, 가급적 특이하게 적어주시는 것이 좋습니다. Guid야 겹칠 일이 거의 전무하지만, 이 이름은 혹여나 겹칠 수 있으니깐, 조심조심 쓰시기 바랍니다. 문장이 길다 싶으면 “.” 으로 구분하여 표시해주시면 됩니다.

네 번째 ClassInterface(….) 부분은, COM(즉 ActiveX)가 외부에 노출되는 각종 Interface의 유형을 결정하는 부분입니다. 자세한 원리는 저도 잘 모르겠구요, COM에 대한 기초적인 지식이 필요할 것 같습니다. 일단 AutoDual로 하면 대부분의 인터페이스를 커버한다고 하더군요. 뭐 보안이나 성능상의 문제로 제한적으로 설정할 수 있는데, 이 역시 천천히 자습하시거나 내용을 찾아 설정해주시면 좋겠습니다.

2.3 컨트롤 등록 시 자동으로 실행되어야 할 사항

일단 위의 설명을 쭉 읽어보시고 만일 전혀 이해가 안되거나 도리어 헷갈린다 싶으면 위의 내용을 그대로 쓰세요. 그리고 난뒤에, Guid 와 ProgId 안의 값만 적절하게 변경해주시면 됩니다. (Guid는 Guid를 새로 생성해서 새롭게 넣으시고, ProgId는 겹치지 않게 적당한 문자열을 나열해주시면 됩니다. – 영어, 숫자, 마침표로만 – )

이제 이 Control이 등록될 때 몇 가지 Registry에 등록해야 되는데, 이 작업을 수행하기 위한 함수 두 개를 추가해 주시기 바랍니다.

///    <summary>
///    Register the class as a    control    and    set    it's CodeBase entry
///    </summary>
///    <param name="key">The registry key of the control</param>
[ComRegisterFunction()]
public static void RegisterClass(string key)
{
    // Strip off HKEY_CLASSES_ROOT\ from the passed key as I don't need it
    StringBuilder sb = new StringBuilder(key);
    sb.Replace(@"HKEY_CLASSES_ROOT\", "");

    // Open the CLSID\{guid} key for write access
    RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(), true);

    // And create    the    'Control' key -    this allows    it to show up in
    // the ActiveX control container
    RegistryKey ctrl = k.CreateSubKey("Control");
    ctrl.Close();

    // Next create the CodeBase entry    - needed if    not    string named and GACced.
    RegistryKey inprocServer32 = k.OpenSubKey("InprocServer32", true);
    inprocServer32.SetValue("CodeBase", Assembly.GetExecutingAssembly().CodeBase);
    inprocServer32.Close();

    // Finally close the main    key
    k.Close();
    MessageBox.Show(key + " 's registered");
}

///    <summary>
///    Called to unregister the control
///    </summary>
///    <param name="key">Tke registry key</param>
[ComUnregisterFunction()]
public static void UnregisterClass(string key)
{
    StringBuilder sb = new StringBuilder(key);
    sb.Replace(@"HKEY_CLASSES_ROOT\", "");

    // Open    HKCR\CLSID\{guid} for write    access
    RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(), true);

    // Delete the 'Control'    key, but don't throw an    exception if it    does not exist
    k.DeleteSubKey("Control", false);

    // Next    open up    InprocServer32
    RegistryKey inprocServer32 = k.OpenSubKey("InprocServer32", true);

    // And delete the CodeBase key,    again not throwing if missing
    k.DeleteSubKey("CodeBase", false);

    // Finally close the main key
    k.Close();
}

각 함수는 이 컨트롤을 해당 PC내에 등록할 때 자동으로 불려지는 함수입니다. RegisterClass(..) 함수는 등록될 때, UnregisterClass(..) 함수는 등록을 해제 될 때 자동으로 불리며, 각 함수의 내용은 마치 Active X처럼 필수적인 정보들을 Registry에 적어 추가하게 됩니다.

2.4 프로젝트 설정

자 마지막으로 설정해야 하는 부분은 프로젝트 설정 부분입니다.

솔루션 탐색기에서 해당 프로젝트에서 오른쪽 클릭을 하셔서 Context Menu를 띄우세요. 그리고 “속성”에 들어가시기 바랍니다.

속성 창에 들어가서 제일 먼저 응용 프로그램 탭을 선택한 뒤에 “어셈블리 정보를 클릭합니다.”

 

어셈블리 정보 창이 떴으면 맨 아래쪽에 있는 어셈블리를 COM에 노출을 선택해주시기 바랍니다.
그리고 어셈블리 버전 안에 "*" 표시가 있으면 반드시 지워주시기 바랍니다!!!!! - ( 가장 중요. 만일 * 가 들어가 있으면 계속 버전이 자동 갱신 되기 때문에, 알 수 없는 오류를 계속 뱉어 낼 수 있습니다. )

Update ( for pjyoung 님 ) - 2010.09.13.

현재 포스트 내용만으로는 regasm 으로 이 Active X 에 등록하려는데 문제가 있더군요.
만일 위의 내용만으로 등록하려고 하면 아래의 메시지가 뜹니다.

D:\MyData\Documents\Visual Studio 2010\Projects\ActiveXTest\ActiveXTest\bin\Debu
g>C:\windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe /codebase ActiveXTest
.dll
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.4927
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can ca
use your assembly to interfere with other applications that may be installed on
the same computer. The /codebase switch is intended to be used only with signed
assemblies. Please give your assembly a strong name and re-register it.
RegAsm : error RA0000 : An error occurred while writing the registration informa
tion to the registry. You must have administrative credentials to perform this t
ask.  Contact your system administrator for assistance

만일 한글판이면 한글판 나름 메시지가 뜨겟는데요.. 일단, 위의 내용을 간단히 언급하자면, 2가지 오류가 있는 것입니다. 하나는 일종의 경고로써, (warning RA0000). 만든 ActiveX 내에 강력한 이름의 서명이 없다는 것입니다. 이게 없다면 뭐 다른 컴퓨터에서 안된다는 의미 같은데.. 경고라고 할지라도, 일단 해결해야 겠죠. 두번째는 Windows Vista, 7 에서만 발생하는 오류인데.. 도스 창을 띄울때 관리자 권한으로 해서 넣으라는 의미입니다.
아래의 내용은 그 부분을 해결하기 위한 내용을 정리햇습니다.

  1. codebase로 등록하려면, 최소한 dll 내에 인증서가 들어가야 된다는 것입니다. 물론 파는 제품이라면, 상업용 인증서가 들어가야 겠지만, 테스트용도라면, 개인 인증서를 직접 만들어 넣을 수 있습니다.
    인증서를 넣는 방법은 아래와 같습니다.
    1. 프로젝트를 솔루션에서 연 뒤, 프로젝트 속성에 들어갑니다.
    2. 프로젝트 속성이 열리면, 왼편에 나열된 탭들 중 Signing (한글로는 아마 '서명' 정도 일거입니다.) 탭을 클릭하시고, 열리는 내용 중 Sign the assembly( 한글로는 아마 '어셈블리 내에 서명' 이겠죠)를 체크합니다.
    3. 다음은 안에 열린 Choose a strong name key file: 에서 아래의 콤보 박스 내용 중,  New… 를 선택합니다.
    4. 그러면 새로운 다이얼로그가 뜨는데, 이 창이 바로 새로운 개인 인증서 하나 멋대로 만드는 것입니다.
      (외부에서 쓰기에는 좀 많이 부족하지만, 프로그램 돌리는 인증서로는 적당합니다.)
      Key file name 에다가 적당한 이름을 넣고.. 암호 부분은 넣어도 되고 안넣어도 됩니다.
      (넣으면 코드도 보호를 하는 것 같습니다만.. 뭐.. 귀찮으면 안넣어도 됩니다. 전 그냥 버릇처럼 넣습니다.). 다 넣었으면 OK를 클릭해서 닫습니다.
    5. 그러면 Assembly 내에 String name key로 위에서 넣은 이름대로 들어갔음을 확인합니다.
      그리고 컴파일을 다시 해주세요.
  2. 두번째 등장한 오류는 관리자 권한 문제입니다. 제 PC 가 Windows 7 이므로 Windows 7 중심으로 갑니다.
    Windows XP 라면 아주 특이하게 사용하시는 분(관리자 권한이 아닌 사용자 권한으로 동작시키는 분들)이 아닌 이상 발생되는 오류는 아닐 겁니다.
    1. 시작 을 클릭하고 검색창에 cmd 입력한 뒤, cmd에서 오른쪽 버튼을 눌러 관리자 권한으로 실행을 합니다.
    2. 그리고 열린 도스창에서 작업을 시작합니다. ( 3. 컴파일 그리고 배포 부분 )

3. 컴파일 그리고 배포.

네 이제 컴파일을 해주시기 바랍니다. 오탈자의 문제가 없다면 큰 문제 없이 컴파일이 될 것입니다. 컴파일이 완료되면, 이제 명령창(cmd) 창을 띄우세요.(시작 –> 실행 –> cmd 입력 )

그리고 다음 명령을 넣어주시기 바랍니다.

C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm /codebase “어셈블리파일”

“어셈블리파일” 이라는 부분은 지금 컴파일 된 DLL 파일의 전체 경로를 의미합니다.

예를 들자면…

"E:\Prj\ExposingDotNetControls_src\Home\Prisoner\bin\Debug\Prisoner.dll"

과 같은 스타일로 하시면 됩니다.

예전 C++이나 VB로 만든 ActiveX는 보통 regsvr32로 등록하고 해제했지만, 이제 .NET 기반으로 만든 ActiveX 는 이 regasm 이라는 도구로 하셔야 합니다. .NET Framework 2.0 을 설치하셨다면 위의 경로와 같은 위치에 regasm이 있을 것입니다.

정상적으로 등록되면 등록한 GUID 값과 함께 해서 조그만한 다이얼로그가 뜨게 됩니다.

4. 테스트

뭐 Object 태그로 Html 소스 안에 직접 박아서 테스트를 할 줄 아시는 분은 Html 소스를 만들어 하실 수 있을 것이고, 아니면 Visual Studio의 C++ 관련도구를 설치하신 분은 tstcon32.exe 라는 프로그램을 실행해서 테스트 해보실 수 있을 것입니다.

HTML 코드를 아래와 같이 넣어보아서 IE를 띄워봅니다.

<HTML><BODY>
<OBJECT id="myX"  CLASSID="CLSID:20F0F02D-044C-4013-AFAE-F2241D95FDA3" width="560" height="480"> 
</OBJECT>
</BODY></HTML>

당연히 뜨는 노란색 바가 보이는데, 그것을 클릭해서 진행해주시면… 아래 처럼 만든 모양 대로 뜹니다.



5. 정리.

사실 VC++로 만드는 Active X 보다는 배포하기가 조금은 까탈스럽습니다. 이 Active X를 돌릴 클라이언트 PC내에 .NET Framework가 설치되어 있어야 겠죠. 게다가 개발 편의로 따지만 SmartClient가 훨 좋습니다 ^^;  하지만 .NET의 개발 편의성과 당장 ActiveX가 필요한 상황에서는 좋을 해결점이 될 수 있으리라 생각됩니다.

pjyoung 님의 질의 내용을 근간으로 다시 프로젝트를 생성하면서 일부 업데이트를 했습니다.
최종 된 상태에서 정리하다 보니, 일부 내용을 Skip 해서 오해의 소지가 다분 있었으리라 생각이 듭니다.
(최소한 진행을 재점검해서 실행은 했습니다.)

PS. 첨부한 파일은 이 글을 재 테스트하기 위해서 만든 프로젝트를 압축한 내용입니다.
애석하게도 Visual Studio 2010 용으로 되어 있어, 예전 Visual Studio로는 솔루션과 프로젝트 파일을 제대로 활용할 수 없을 것입니다. 새로 프로젝트를 만들어서 파일만 가져다가 재 생성해야 할지도 모르겠네요.
그래도 모르니 일단 업로드를 해봅니다.

728x90
XP/2003의 경우 boot.ini 파일을 편집하여 활성화, 혹은 비활성화 처리할 수 있다.
(http://support.microsoft.com/kb/875352)
그런데 Vista에서는 boot 처리하는 로직을 별도로 구축하여 만들어서, 
bcdedit.exe 라는 특수 프로그램을 통해 해당 기능을 구현할 수 있다.

만일 비활성화 시켜야 한다면,
 
   bcdedit.exe /set {current} nx AlwaysOff

라고 입력하면된다.

활성화 시키고 싶은 경우라면, 

   bcdedit.exe /set {current} nx AlwaysOn

라고 입력하면 된다.

(참고 사이트 : http://www.mydigitallife.info/2007/01/15/disable-and-turn-off-or-enable-or-turn-on-data-execution-prevention-dep-in-windows-vista/ )

728x90

VS 2005나 VS 2008에서 참조를 추가 할 때, .NET 탭에 보면 각종 Assembly DLL 목록을 볼 수 있습니다. 여기에 보면 각종 MS 제품들에 딸린 Assembly들을 보는 대신, 우리가 만든 Assembly들은 보이지 않습니다. 물론 실제 Runtime시에는 GAC에서 직접 읽어오기 때문에, VS 2005나 VS 2008에서 보이지 않는다고 동작하지 않는 것은 아닙니다.

단지 개발하는데 있어 왠지 소외된 느낌? 왠지 개발 중 DLL 등록하는데 조금 뭔가 부족한 느낌? 그런 것 때문에 그런 것일 뿐입니다.
뭐 그래도 개발자에게 찜찜한 느낌은 개발 속도 향상에 나쁜(?) 영향을 주므로 이런 부분을 해결하는 방법을 알려드리도록 하겠습니다.

(원문 : http://support.microsoft.com/default.aspx?scid=kb;en-us;306149&Product=vsnet )

"참조 추가" 대화상자에서 어셈블리들을 표시하는 방법.

VS 2005, 2008 등에서 참조 추가 대화 상자가 떴을 때, .NET 탭을 열어보면 각종 Assembly들의 목록을 볼 수 있는데, 이 안에 직접 만든 DLL들의 목록도 뜨도록 하는 것입니다.

이 내용안에 추가하려면, 아래의 레지스트리 위치로 이동합니다.

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders]

그리고 새로운 키(폴더)를 만든 뒤, 그 안의 default 안에 등록할 Assembly들이 있는 경로를 넣어주십니다.

레지스트리 경로표현하면 아래와 같이 정리될 수 있습니다.

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\MyAssemblies]@="C:\\MyAssemblies"

등록 후 VS 를 다시 시작하시면 됩니다.

참고 : 위의 경로에서는 HKEY_CURRENT_USER 로 되어 있는데, 위의 경로로 하면 현재 로그인된 사용자만 적용됩니다. 모든 사용자 단위로 적용하시려면 HEKY_CURRENT_USER 부분을 HEKY_LOCAL_MACHINE 으로 변경하시면 됩니다.

728x90

참조글 : http://www.vistarewired.com/2007/04/16/increase-the-number-of-simultaneous-downloads-in-internet-explorer-7

FireFox 나 구글 크롬이 나오면서 확실히 입지가 서서히 줄어드는 IE이지만,
운영체제에 껴서 같이 나오는 웹브라우저라 여전한 강세를 유지하고 있는 것도 사실이다.
게다가, 우리나라는 X 같은 ActiveX를 줄창나게 쓰는 곳인지라, IE 빼고는 대안이 없는 것이 사실이기도 하다.

그런데, IE, 특히 버전 7.0 에서 조금이나마 속도를 증가 시킬 수 있는 방법이 있다.
그것은 바로 파일 다운로드 동시 갯수를 늘리는 것이다.
물론 W3C의 표준은 동시에 2개의 연결만 가능하도록 하는 것이긴 하지만,
이미지 파일 서버, 미디어 파일 서버와 같이 갈갈이 서버가 갈라진 서버의 경우에는
동시에 파일을 받는 갯수를 늘리면 효과를 볼 수 있다.

단 이 방법은 레지스트리를 수정하는 것이므로 레지스트리 수정 방법에 대해서 잘 모르는 사람은 시도하지 않았으면 한다. ( 혹여 수정 실패로 인해 컴퓨터 맛탱 가는 것은 절대 필자의 책임이 아님을 다시 밝힌다. )

1. 시작 -> 실행을 하여 실행 창을 띄운다.
2. 실행 창에서 regedit.exe 를 입력하여 레지스트리 수정도구를 실행한다.
3. 왼편 트리 창에 있는 트리 항목을 아래의 순서대로 따라 간다.
    HKEY_CURRENT_USER -> Software -> Microsoft -> Windows
        -> CurrentVersion -> Internet Settings
4. Internet Settings 항목이 선택된 상태에서 메뉴 상의 편집(E) -> 새로 만들기 -> DWORD 값을 선택한다.
5. 오른쪽의 새 값#1의 항목에서 살짝 클릭하면 이름을 변경할 수 있는데, 이름을 MaxConnectionsPer1_0Server 로 변경한다.
6. MaxConnectionsPer1_0Server 항목을 더블 클릭한 뒤, 10진수로 500을 넣는다.
7. 다시 4번 처럼 한다.
8. 5번 처럼 이름을 변경하는데 변경될 이름은 MaxConnectionsPerServer 이다.
9. MaxConnectionsPerServer 항목에서 더블 클릭해서 10진수로 500을 넣는다.

10진수로 넣는 값은 3~500까지 가능한데, 어차피 웹서버에서 주는 대로 받기 때문에, 500까지 다 쓸일은 없지만, 귀찮아서 그냥 500으로 넣는다. (실제로 대부분의 웹사이트는 2개만 준다. )

설정이 완료되면 레지스트리 편집기를 닫고 IE를 다시 시작하면 조금이나마 빠른 느낌을 받을 수 있다. ( 물론 인터넷이 원체 느리거나 웹서버가 삐리하면 변화가 그다지 없다. )

728x90
 지금 개인 개발 PC에 Windows Server 2008을 설치했습니다.

다른 곳에서 구한 것은 아니고, MSDN 내의 Subscription을 통해 받은 RC1 입니다.이미 Vista가 나온 상태이기 때문에, 전체적인 UI 구성이나, 배치 등은 Vista에서 보여준 형태 거의그대로여서 큰 문제점은 없더군요.

우려 했던 드라이버 문제들도, 이미 나온 Vista 드라이버로 거의 설치가 되었습니다.(최소한 제 개인 개발 PC내의 드라이버에서는 문제가 없더군요)

Vista가 가지고 있던 클라이언트의 UI가 깨끗히 걷히고, 딱 필요한 부분만 적용된 것 같습니다.그리고 2003에서 처음 제시했던 서버 Role에 대한 페이지도 더 다양하게 제시되어 있어

훨씬 접근성도 좋더군요.
게다가, 2003에서 .NET 1.1이 미리 들어가 있던 것 처럼 이번 2008에는 2.0이 미리 들어가 있었습니다. 또한 3.0도 추가 옵션을 통해 더할 수 있었으며, WPF(Windows Presentation Framewrok) 및 WWF(Windows Workflow Framework)도 있더군요.

게다가 이번에 가장 놀라게 한 것은 IIS 7.0.
일단 기능 추가 부분에서 훨씬 다양한 조건들과 옵션들의 압박도 대단했지만,
iismgr ( IIS Manager )는 정말이지 걸작이다 싶습니다.
거의 완벽하게 UI 스럽게 뜯어 고쳐서, 자주 만져주지 않으면 정말이지 딴세상 가버릴듯 하더군요.

일단, Vista 기반의 드라이버와 프로그램들이라면, 2008을 쓰는데는 무리가 없어보입니다.
이제 MOSS 2007을 설치해 보고, 무엇이 부족한지 무엇이 좋은지를 차츰 확인해 보도록 하겠습니다.

728x90

처음에는 컴퓨터에 암호를 넣지 않으면 자동으로 로그인이 된다. 하지만,
공유 폴더 같은 것을 만들게 되면, 계정에 하는 수 없이 암호를 넣게 되고, 이 경우 로그인 창이
뜨게 된다.

그래서 차선으로 찾은 방법이 레지스트리를 변경해서 자동 로그인이 되도록 수정하여 쓴적이  있다. 이 경우 레지스트리 상에 자신의 암호를 기록해 넣고, 무한대로 AdminLogin 기능을 활성화하면 된다.  하지만, 이 방법은 뭐랄까.. 보안의 헛점을 들어 낸다고나 할까...
Regedit로 보게 되면, 패스워드를 그냥 볼 수 있으니 문제가 있다.

만일 자신의 컴퓨터가 Active Directory 즉 도메인에 가입되지 않은 컴퓨터인 경우 간단하게
적용할 수 있었다. ( 대부분 가정집 컴퓨터, 심지어는 우리나라 회사용 컴퓨터도 마찬가지지만 )

시작 -> 실행 을 눌러 실행 창이 뜨면 ( Vista인 경우 검색/입력 창에 직접 )
Control userpasswords2 를 입력한다.
그러면 다음과 같은 창이 뜨는데,



위의 창에서 "사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음"에 체크 되어 있는 것을 끄고 적용을 선택하면 된다.

종종 Control userpasswords2 라는 명령을 종종 userpasswrd2 로 보일때가 있다.
즉 명령 맨 끝이 "S" 자를 종종 빠트렸는데, 난 처음에 안되는 줄 알았다.
꼭 2 앞에 s 자를 붙이도록 해야 한다.

참고 URL : http://support.microsoft.com/kb/315231


728x90

한국에서... 공정 거래 위원회의 판결로 Vista 중 KN 버번에는(얼핏 보면 KIN 같다)
미디어 플레이어와 메신저가 없다.
하지만, 이 미디어 플레이어기능이 없으면 WMV 계열의 동영상을 틀어지지 않고, 심지어 Gomplayer까지 Media Player를 다운로드 받으라고까지 한다.



이 문제를 해결하기 위해 Google에 물어 보려 했지만 최소한 외국 사이트에서는
별 문제가 없다고 생각되었다. 거기에서는 이 Media Player가 기본 탑재되기 때문에,
이런 문제를 제기하지 않을 것이고, 답변도 안할 것이다.

포기. 하려다가 Naver에게 혹시 물어보았다.
그러자 답변이......


KN에서는 미디어 플레이어를 설치할 수 없는 버전이라니.....

MS가 미디어 플레이어 시장을 포기했다는 듯한 저 발언은??
단지 어쩔 수 없이 뺀 것에 불가하고, XP에서는 이미 개발이 되어 탑재된 상태이기 떄문에,
하는 수 없이 기묘한 형태(미디어 플레이어 선택화면)로 개발된 것인데.....
그렇다고 XP 버전을 설치할 수는 없고.....

문득...MSN 메신저가 떠올랐다. KN의 제품 구성상 Windows Messanger가 빠진 상태이기 때문에, 여기서는 과연... 그러자 간단하게 되었다.

http://www.microsoft.com/downloads/Search.aspx?displaylang=ko
일단, Microsoft의 Download 위치로 이동해서, Media Player 11 로 검색한다.
그러면 Windows XP용 Windows Media Player 11 로 이동한다.
정품 인증을 받은 뒤 파일을 다운로드 받는다.
그 파일을 실행 해주고, 계속 진행을 하게 되면, 알아서 KN -> K 버전으로 롤백을 해준다.
즉 미디어 플레이어 기능이 활성화 된다.

미디어 플레이어는 활성화 되고, 정상적으로 이용할 수 있었다.
나의 기대감을 갑자기 끊어 놓은 Naver의 어설픈 답변인이...슬슬 미워진다.
결국 Naver는 Naver 수준인가 -_-;;;

728x90

+ Recent posts

728x90