1

Windows 설치 관리자 패키지를 사용하여 winforms 응용 프로그램을 여러 클라이언트에 배포하고 일부는 보안 정책을 변경했기 때문에 응용 프로그램 업데이트를 실행하는 방법을 알아야합니다. 설치 관리자)가 있어야합니다.관리자가 아닌 사용자와 응용 프로그램 업데이트를 실행하십시오.

업데이트 프로세스와 관련된 몇 가지 정보를 찾으십시오. - 설치 프로그램이 InstallAware 을 사용하여 생성되었습니다 - 업데이트 프로세스 중에 이전 버전이 제거되고 새 버전이 설치됩니다. - 설치 프로그램이 레지스트리에 쓰고 일부 Windows 서비스를 설치하기 때문에 관리자 권한이 필요합니다. - 응용 프로그램이 program files 폴더에 설치되어 있습니다.

현재 구현중인 솔루션은 새 업데이트를 확인하는 간단한 콘솔 응용 프로그램을 실행하는 새로운 스케줄러 작업을 생성하고 새 버전이있는 경우 설치 프로그램을 다운로드하고 자동 모드로 실행합니다 전체 설치는 사용자 인터페이스 또는 사용자 개입없이 자동으로 실행됩니다. 대화 상자 제어의 기본값이 사용됩니다.

이 솔루션에 대한 고려 사항 : - 업데이트 프로세스 중에 발생할 수있는 오류를 처리하기가 어렵습니다. - 업데이트 프로세스가 실행 중임을 사용자에게 경고하는 것은 불가능합니다 (다른 사용자와 함께 실행되는 스케줄러 작업이 로그인 된 사용자와 상호 작용할 수 없기 때문에).

비슷한 것을 구현 한 사람이 있습니까? 이것이 내 목표를 달성하는 최선의 방법인가?

+0

설치 프로그램이 레지스트리에 쓰기 위해 관리자 권한이 필요한 경우 설치 프로그램을 실행하려면 관리자 권한이 필요합니다. ifs, ands 또는 buts는 없습니다. 관리자 권한이 필요합니다. 예외는 없습니다. UAC가 활성화되어 있으면 설치 프로그램에 관리자 권한이 필요합니다. 업데이트 프로세스를 실행하기 위해 관리자 권한이 부여 된 예약 된 작업은 보안상의 허점이며 지식이있는 보안 인식 환경 (예 : 내가 일하는 곳)에서 금지됩니다. –

+0

@KenWhite : 좋아, 당신은 완전 자동 updaters를 허용하지 않지만 아마 당신은 합리적인 대안이 있기 때문에 그것의; 승인 된 소프트웨어 업데이트를 배포하기위한 SCCM 또는 기타 엔터프라이즈 수준 솔루션 내 직장에서는 반자동 업데이트 프로세스 (시작 스크립트 사용)가 업데이트를 즉시 설치하는 데 그리 좋지 않기 때문에 자동 업데이터를 허용합니다. 가정용 컴퓨터에서 완전 자동 업데이트가 표준이되고 있습니다. 나는 완전히 자동화 된 업데이터가없는 한 제 아내 나 아이들의 컴퓨터에 소프트웨어를 설치하지 않습니다. 왜냐하면 저는 수동으로 업데이트하는 것을 잊고 있기 때문입니다. –

+0

일반적인 방법 (예 : Firefox, 엔터프라이즈 Chrome, Adobe Flash Player)은 예약 된 작업 대신 시스템 서비스를 설치하는 것입니다. 다운로드 한 설치 프로그램에 암호로 서명하고 설치 프로그램을 실행하기 전에 서명을 확인하십시오. 그렇지 않으면 실제로 보안상의 결함입니다. Firefox 및/또는 Chrome 소스 코드를보고 자신이하는 일을 볼 수도 있습니다. 아, 그리고 당신이 특정 고객의 이익을 위해 이것을하고 있기 때문에, 당신이 먼저 그들과 이야기하는지 확인하십시오. 그들은 SCCM 또는 그룹 정책과 같은 다른 솔루션을 사용하는 것을 선호 할 수 있습니다. –

답변

1

업데이트가 패치 인 경우 제품의 첫 번째 설치와 관련된 특정 요구 사항 집합을 충족하고 MSI와 패치에 모두 서명하면 제한된 사용자가 패치를 적용 할 수있는 메커니즘이 있습니다. 여기에 설명 된 UAC 패치 :

http://msdn.microsoft.com/en-us/library/aa372388(v=vs.85).aspx

는 상당히 모호한 비록 당신이, LUA 패치 (원래 이름) 이상의 정보가 거기있다 패치 최소 권한을 검색하면 . 그들이 가지고있는 보안 정책에 DisableLUAPatching 설정이 포함되어 있으면이를 사용할 수 없습니다.

관련 문제