2012-08-18 9 views
0

innoscript를 사용하여 응용 프로그램을 만들려고합니다. HKLM에서 레지스트리 정보 값을 작성/편집해야합니다. 따라서 응용 프로그램을 설치하려면 관리자 권한이 필요합니다.Innoscript - 현재 사용자 프로필 정보 얻기

그러나 관리자가 아닌 사용자가 응용 프로그램을 설치하려고하면 innoscript에 관리자 사용자 암호가 필요하며 관리 사용자 암호를 입력하면 설치 스크립트 (예 : HKCU)에서 레지스트리를 쿼리 할 때마다 관리자. 그러나 현재 로그인 한 사용자로부터 정보를 얻고 싶습니다. 결과적으로 프로그램은 현재 로그온 사용자 계정 대신 관리 사용자 위치에 설치됩니다.

응용 프로그램을 관리자 권한으로 실행하거나 관리자 권한으로 묻는 메시지와 함께 시작하면 현재 로그온 사용자 사용자 및 사용자 응용 프로그램 데이터 위치를 innoscript에서 가져 오는 방법이 있습니까?

업데이트를 기다리는 중입니다.

감사합니다,

답변

0

쉬운 해결 방법은 대신 파스칼 스크립트의 실행에 논리를 이동하는 것입니다. 그럼 당신은

http://www.jrsoftware.org/ishelp/index.php?topic=runsection

가 runasoriginaluser으로 실행 항목을 표시하는 것을 잊지 마십시오, [실행] 섹션에서이 실행 파일을 호출 할 수 있습니다.

+0

나는 downvote에 유혹을 받는다. 그러나 나는 그렇게하지 않을 것이다. 그것은 맞지만 나쁜 충고입니다. (원래 사용자는 관리자이기도하므로 두 번째 사용자가 앱을 실행하는 데 도움이되지 않습니다.) – Miral

1

설치 프로그램은 컴퓨터 별 설치 중에 사용자 별 상태 (HKCU 포함)를 읽거나 수정하지 않아야하며 안정적으로 그렇게 할 방법이 없습니다. 대신 응용 프로그램 자체가 처음 실행될 때 (적절한 위치를 읽으려고 시도하고 찾을 수없는 경우 기본값을 가정하여) 이렇게해야합니다.

응용 프로그램은 한 번 설치되지만 다른 여러 사용자가 실행할 수 있습니다. 이 동작은 필수적입니다.

+0

downvoting하지 말아 줘서 고마워. 그러나 설치 프로그램이 단일 사용자의 영역을 변경해야하는지 여부는 주관적입니다. 많은 설치 프로그램을 사용하면 모든 사용자를 위해 설치할 수 있지만 일부는 현재 사용자 만 설치할 수도 있습니다. 정말이 설치 프로그램이 제공하는 소프트웨어에 달려 있습니다. –

+0

Inno는 설치시 현재이 옵션을 지원하지 않습니다. 사용자가 입력하기 전에 표고가 발생하기 때문에 컴파일 타임에 결정해야합니다. 설정이 상승되지 않은 경우 시스템별로 설치할 수 없습니다. 설치 프로그램이 높아지면 사용자 당 설치를해서는 안됩니다 (제대로 또는 혼란스럽게 할 수 없기 때문에). – Miral

관련 문제