2010-03-22 10 views
1

나는 현재 [아이콘] 섹션에서 다음 항목이 :이 바로 가기는 명령을 내 응용 프로그램의 폴더로 바로 프롬프트를 실행INNO 설치를 사용하여 고도를 묻는 CMD.EXE에 대한 바로 가기를 만드는 방법은 무엇입니까? INNO 설정을 사용하여

Name: "{group}\My App\My App - Command Prompt"; Filename: "cmd.exe"; WorkingDir: "{app}" 

합니다. 불행하게도 사용자가 실행하는 명령에 적절한 권한이 없다는 것을 의미하는 elevated로 실행되지 않습니다.

INNO 설치 프로그램을 사용하면 높이가 필요한 CMD.exe (특정 폴더)의 바로 가기를 어떻게 만들 수 있습니까?

다른 응용 프로그램에 대해서는 매니페스트 파일을 통해이 작업을 수행 할 수 있습니다. 내 질문은, 어떻게 그것을 INNO를 사용하여, 그리고 만약 내가 할 수 없다면, 내 대안은 무엇입니까?

+0

관리 권한이 있습니까? COM 개체 (CreateComObject (CLSID_ShellLink))를 사용하여이 값을 설정할 수 있습니다. – Sasha

답변

2

바로 가기의 관리 속성은 호환성 설정이므로 프로그래밍 방식으로 설정하면 안됩니다. 사용자가 실행하는 명령은 적절한 매니페스트를 가지고 관리자 권한을 요청해야합니다. 사용자는 바로 가기를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택하여 권한 상승을 선택할 수도 있습니다.

어쨌든 즉시 권한 상승을 원할 경우 관리 매니페스트가 표시된 응용 프로그램 폴더에 작은 유틸리티를 배치 할 수 있습니다. 이 유틸리티는 cmd.exe를 생성합니다. 그렇게하면 호환성 설정을 망쳐 놓을 필요가 없습니다.

여전히 호환성 설정을 사용하려는 경우 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers 및 HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers 레지스트리 키를 확인하십시오. . Inno Setup에 내장 된 IUnknown 지원을 사용할 수도 있지만 더 많은 작업이 필요합니다. CodeAutomation2.iss 예제 스크립트 및 http://social.msdn.microsoft.com/Forums/en-US/windowssecurity/thread/a55aa70e-ae4d-4bf6-b179-2e3df3668989