2008-08-19 4 views
6

우리가 작업하고있는 제품을 사용하면 컴퓨터를 시작할 때마다 자동으로 실행되도록 설정할 수 있습니다. 이는 제품이 대부분의 사용자의 기본 작업 환경의 일부이기 때문에 유용합니다.
이 기능은 오래 전에 구현되지 못했지만 잠시 동안은 모두 정상적으로 작동했지만 Vista에서이 기능을 테스트하기 시작했을 때 제품이 시작될 때 정말 이상하게 작동하기 시작했습니다. 특히, 우리 제품은 서비스가 필요할 때마다 실행되는 다른 제품 (X라고 함)을 사용합니다. 실제 문제는 X가 로그온 직후에 실행될 때마다 디스크 액세스와 관련된 심각한 오류를보고하거나 크래시를보고합니다 (이는 X가 직접 실행될 때도 발생합니다 - 제품을 통하지 않고 발생 함).Vista에서 자동 실행 응용 프로그램이 이상하게 작동하는 이유는 무엇입니까?

우리가 레지스트리에서 "실행"키에 등록 또는 "시작 메뉴"내부 "시작"폴더에 바로 가기를 배치하여 우리의 제품을 실행할 때마다 우리가 넣을 경우에도 발생 실제로 실행되기 전에 ~ 20 초의 지연. 지연을 70 초로 변경하면 모든 것이 잘됩니다.

로그온 직후에 (바탕 화면에있는 바로 가기를 두 번 클릭하여) 수동으로 제품을 시작하지만 아무 소용이없는 문제를 재현하려고 시도했습니다.

이제 로그온 후 1 분 동안 정상적으로 실행되는 응용 프로그램이 로그온 직후에 시작하면 이러한 하드 오류를 어떻게보고 할 수 있습니까?

답변

6

이것은 "권투"라는 Vista의 새로운 기능의 효과입니다. Windows는 사용자/관리자가 Windows가 시작될 때 자동으로 실행되도록 응용 프로그램을 설정할 수있는 여러 메커니즘을 가지고 있습니다. 이 기능은 주로 다음 목적 중 하나에 사용됩니다. 1. 사용자가 컴퓨터를 시작할 때 주로 수행하는 첫 번째 작업이 시작되도록 사용자의 기본 작업 환경에 속하는 프로그램. 2. 백그라운드 "에이전트"- skype, 메신저, 윈앰프 등

너무 많은 (또는 너무 무거운) 프로그램이 시작시 실행되도록 등록되면 최종 결과는 사용자가 실제로 아무 것도 할 수 없다는 것입니다 로그인 후 처음 몇 초/몇 분 동안은 정말 귀찮을 수 있습니다. Vista의 "Boxing"기능이 제공됩니다 :

간단히 말해 Vista는 로그인 후 처음 60 초 동안 Run 키를 통해 호출 된 모든 프로그램을 낮은 우선 순위로 강제 실행합니다. 이는 I/O 우선 순위 (매우 낮음으로 설정 됨)와 CPU 우선 순위에 모두 영향을줍니다. 매우 낮은 우선 순위 I/O 요청은 파일 캐시를 통과하지 않고 직접 디스크로 이동합니다. 따라서 일반 I/O보다 속도가 훨씬 느립니다. 복싱 기간의 길이는 레지스트리 값 : "HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced \ DelayedApps \ Delay_Sec"에 의해 설정됩니다.

대한 자세한 설명은이 프로그램은 아마도 그 속성에 넣어 좀 더 많은 정보를 필요로 herehere

0

참조하십시오. 실행중인 대신 "실행"해야합니다.

이 응용 프로그램은 시작할 프로그램 대신 서비스로 개발해야 할 수도 있고 프로그램을 시작할 수있는 서비스를 제공 할 수도 있습니다.