문제

Visual Studio를 사용하여 설정/MSI를 생성할 때 설치에 관리자 권한이 필요하지 않은 간단한 애플리케이션에 대한 설정을 만드는 것이 가능합니까?Windows XP에서는 불가능하다면 Vista에서는 가능합니까?

예를 들어 배경 위에 사진을 붙여넣을 수 있는 간단한 이미지 조작 애플리케이션이 있습니다.Program Files 폴더에 설치하려면 관리자 권한이 필요합니까?대신 \AppData 폴더에 설치할 수 있나요?

목표는 로컬 컴퓨터에서 관리자 그룹의 구성원이 아닌 사용자를 위해 설치되고 Vista에서 UAC 프롬프트를 표시하지 않는 응용 프로그램을 만드는 것입니다.

이 방법의 한계는 현재 사용자의 앱 데이터 폴더에 설치하면 다른 사용자가 실행할 수 없다는 것입니다.

업데이트:

일반 setup.exe 유형 설치 프로그램에서 한 번의 클릭으로 설치를 패키징할 수 있습니까?왜 우리가 이것을 원하는지 물을 수 있습니다. 그 이유는 전제 조건 확인을 수행하고 필요한 모든 것(예: .NET)을 설치한 다음 MSI를 다운로드하고 실행하는 설치 프로그램이 있기 때문입니다.그것이 표시되는 유일한 화면이더라도 일반 설치 프로그램 시작 화면도 표시하고 싶습니다.한 명의 사용자(앱을 설치한 사용자)만 앱을 볼 수 있더라도 상관없습니다.

도움이 되었습니까?

해결책

ClickOnce는 이 문제에 대한 좋은 해결책입니다.프로젝트 속성 > 게시로 이동하면 이에 대한 설정을 지정할 수 있습니다.특히 "설치 모드 및 설정"을 살펴보는 것이 좋습니다.

  • 응용 프로그램은 온라인으로만 사용할 수 있습니다. 이는 사실상 "한 번 실행" 응용 프로그램입니다.
  • 애플리케이션은 오프라인에서도 사용할 수 있습니다(시작 메뉴에서 실행 가능). 그러면 PC에 앱이 설치됩니다.

실제로 ClickOnce 웹 배포 기능을 사용할 필요는 없습니다.빌드 > 게시를 수행한 다음 게시\ 폴더의 내용을 압축하면 해당 내용을 설치 프로그램으로 효과적으로 배포할 수 있습니다.더욱 원활하게 수행하려면 setup.exe 파일을 자동으로 실행하는 폴더에서 자동 추출 아카이브를 만드십시오.

이 방법으로 설치하더라도 이 방법을 사용하기로 선택한 경우 해당 응용 프로그램에 대한 온라인 업데이트가 계속 작동합니다.ClickOnce 파일을 온라인에 넣고 프로젝트의 게시 속성 페이지에 URL을 입력하기만 하면 됩니다.

다른 팁

비스타는 이런 종류의 일에는 제한이 있으므로 XP에서 할 수 없다면 Vista에서도 허용하지 않을 것입니다.

Windows 설치 프로그램을 사용하여 프로그램 파일 폴더에 설치하려면 관리 권한이 필요하다는 것이 맞습니다.사실은, 모든 쓰기 액세스 해당 폴더에는 관리자 권한이 필요하므로 더 이상 실행 파일과 동일한 폴더에 데이터를 저장해서는 안 됩니다.

다행히 .Net을 사용하는 경우 msi 대신 ClickOnce 배포를 사용할 수 있습니다. 이를 통해 관리자 권한 없이 각 사용자 프로필의 폴더에 설치할 수 있습니다.

제가 아는 유일한 방법은 .NET 2.0 이상에서 ClickOnce 애플리케이션을 빌드하는 것입니다.

애플리케이션 사용자가 올바른 필수 구성 요소를 설치한 경우 애플리케이션을 "실행"할 수 있습니다.

확인해 보세요:

UAC가 활성화된 경우 프로그램 파일에 쓸 수 없습니다.\AppData에 설치하면 실제로 한 명의 사용자에 대한 프로그램만 설치됩니다.

그러나 레지스트리 변경이 필요한 구성 변경은 관리자 권한일 가능성이 높다는 점에 유의해야 합니다.내 머리 꼭대기에서 데스크탑 배경에 대한 수정 사항은 궁극적으로 HKEY_CURRENT_USER에 저장됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top