2012-02-07 2 views
0

다른 예제를 확인했습니다.Windows가 시작될 때 응용 프로그램 시작

나는 winfrom에서 일하고있다. & 이제 설치 프로그램을 만들겠습니다.

Windows가 시작될 때 & 다음 코드를 사용하려고하면 소프트웨어를 시작하고 싶습니다.

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 
rkApp.SetValue("MyApp", Application.ExecutablePath.ToString()); 

하지만이 코드를 어디에 넣어야하는지 혼란 스럽습니다. 소프트웨어를 설치할 때 한 번 실행되므로 응용 프로그램이 시작될 때마다이 코드가 실행되는 것을 원하지 않습니다.

regkey가없는 경우 form_Load()를 확인해야합니다. 예라면 &이 값을 실행에 추가하십시오.

맞습니까? 사용자에게 옵션을 제공하고 싶지 않습니다. & 시작시이 응용 프로그램을 강제로 시작하고 싶습니다.

감사합니다.

+1

EXE의 바로 가기를 시작 -> 모든 프로그램 -> 시작의 '시작'섹션으로 드래그하면 어떨까요? 편집 : 내 잘못, 그건 옳지 않아. 당신은 * 설치 *시 EXE의 바로 가기를 시작 폴더에 복사 할 수 있습니다. 나는 레지스트리를 사용하는 것이 더 좋은 방법이라고 생각한다. – Shai

+1

이 코드는 프로그램의 설치 프로그램에 속합니다. –

+0

'나는 사용자에게 옵션을주고 싶지 않고 시작시 강제로이 응용 프로그램을 시작하고 싶습니다 .' 당신은 이유가있을 수 있지만 사용자에게 옵션을주지 않는 것은 일반적으로 무례한 것으로 간주됩니다. – Heinzi

답변

1

이처럼 설치에 대한 귀하의에서 CustomAction 클래스를 생성 할 수 있습니다 :이 클래스가되면, 커밋 섹션에서 레지스트리 코드를 삽입 http://msdn.microsoft.com/en-us/library/d9k65z2d.aspx#Y0

.이제 응용 프로그램이 설치 될 때마다 응용 프로그램이 시작할 때 실행되도록 레지스트리에 추가됩니다.

+0

과 같은 링크는 더 이상 제공되지 않습니다. –

0

라인을 사용하는 작은 콘솔 응용 프로그램을 만들어 설치가 끝날 때 실행하십시오.

0

사용하는 istaller 소프트웨어에 따라 다릅니다. Visual Studio에서이라는 설치 프로젝트 템플릿을 사용하는 경우 have the registry key created automatically을 사용할 수 있습니다.

+0

'setup & deployment'를 추가하여 msi를 만들고 있습니다. 사용하기 쉬운 모든 소프트웨어를 제안 할 수 있습니까? –

+0

@CodeHippo : 예, 그게 전부입니다. 설정 및 배포 프로젝트에서 레지스트리 편집기를 엽니 다 (솔루션 탐색기에서 설치 프로젝트를 마우스 오른쪽 단추로 클릭 한 다음보기 -> 레지스트리 선택). 레지스트리 키를 추가 할 수 있습니다. – Heinzi

+0

@Code Hippo : 이것은 설치 프로젝트를위한 http://www.advancedinstaller.com/입니다. 구입할 수 있거나 프리웨어 에디션을 사용할 수 있습니다. – Smack

1

다른 사용자가 주석을 달았 기 때문에, 이런 종류의 것은 설치 프로그램에 있어야합니다. Visual Studio로 만들 수있는 설치 프로젝트에서 트릭을 수행해야하는 사용자의 시작 폴더에 대한 링크를 추가 할 수 있습니다.

하지만

당신은 사용자가 시작 폴더로 변조하고 당신이 절대적으로 당신이 말했듯이 당신이 할 수있는 프로그램이 Windows와 자동적으로 시작하고 싶어하지 않으려면 : 적절한 레지스트리 확인 프로그램이 시작될 때마다 키를 입력하고 거기에 없으면 입력하십시오. 계정에 권한 상승이 필요한 계정이어야합니다.

하지만

당신은 절대적이 필요하십니까? 최종 사용자에게 옵션으로 제공 할 수 없다고 확신합니까? 만약 내가 당신의 프로그램에 대한 사용자이고, 시작시에 그것을 원하지 않는다면, 레지스트리 키를 제거하여 거기에서 꺼내고, 동의없이 레지스트리에서 다시 발견하도록 노력해야한다. 나는 꽤 열 받게 될 것이다. ...

+0

예, 시작시 소프트웨어를 실행하고 싶습니다. ..--) 당신이 어떤 견인이나 예제를 제공 할 수 있다면 좋을 것입니다. 고마워요. –

0

설치 관리자가 레지스트리 키를 만들어야합니다.

또한 설치 관리자는 현재 사용자 용으로 설치할지 또는 모든 사용자 용으로 설치할지 여부를 묻는 메시지를 표시 할 수 있습니다. 사용자가 모두를 말하면 관리자 권한이 필요한 HKEY_CURRENT_USER 대신 키를 HKEY_LOCAL_MACHINE에 추가해야합니다. 설치 프로그램은 일반적으로 해당 권한을가집니다.

+0

'setup & deployment'를 추가하여 msi를 만들고 있습니다. 사용하기 쉬운 소프트웨어를 제안 할 수 있습니까? –

+0

저는 설치 패키지를 만들기 위해 Visual Studio에 포함 된 도구를 항상 경멸했습니다. 나는 Inno Setup (http://www.jrsoftware.org/isinfo.php)을 무료로 사용할 수 있었고 꽤 사용하기 쉽고 매우 강력했습니다. – CMPerez

+0

빠른 google 실행으로 NSIS (http://nsis.sourceforge.net/Main_Page)와 WiX (http://wix.sourceforge.net/)도 공개되었지만 이들 중 어느 것도 사용하지 않았기 때문에 그 (것)들에 대하여 논평하지 않습니다. NSIS가 널리 사용되고 있다는 것을 알고 있습니다. – CMPerez

관련 문제