2009-05-25 7 views
3

자체 업데이트 응용 프로그램을 만드는 중입니다. Vista 및 Windows 7에서 실행중인 문제점 중 하나는 클라이언트를 업데이트하기 위해 관리자 권한이 필요합니다. 제한된 권한으로 사용자를 실행하는 클라이언트에 문제가 발생했으며 사용자가 할 수 없었기 때문에 클라이언트를 업데이트해야하는 모든 컴퓨터에 IT 로그를 기록해야했습니다.프로그램 파일 대신 문서에서 응용 프로그램을 실행하십시오.

내가 생각하고있는 가능한 해결 방법은 런처 응용 프로그램을 Program Files에 정상적으로 설치하고 사용자 응용 프로그램에 설치되어있는 실제 응용 프로그램을 어딘가에 설치하여 업데이트하지 않고 새 버전을 실행할 수있게하는 것입니다. IT가 개입합니다.

내가 여기에서 놓친 잠재력이나이 경로로 향하기 전에 알아 두어야 할 점이 궁금합니다. 나는 click-once가 매우 유사하다는 것을 알고 있으며 사용자 상호 작용없이 자동 업데이트를 할 수있는 능력을 필요로한다는 것을 제외하고는 그것을 사용할 것입니다.

답변

1

이렇게되는 방법입니다. 대부분의 IT 부서가 원하는 마지막 사항은 사용자가 임의로 소프트웨어를 업데이트하는 것입니다. 이것은 이전 버전의 파일과의 비 호환성, 안전하지 않은 새 기능 등의 의도하지 않은 모든 부작용을 가질 수 있습니다. 따라서 IT 부서는 Windows Update를 사용하지 않도록 설정하고 제어 된 방식으로 수동으로 업데이트를 수행합니다.

사용자가 소프트웨어의 업데이트 된 버전을 원하면 IT 부서에 소프트웨어를 요청해야합니다. 그러한 컴퓨터와 인프라는 그들에게 속한 것이 아니라 그들이 일하는 회사에서 그들에게 시간을 빌려주고 있기 때문에 일을 할 수 있습니다.

+0

나는 이론에 동의한다. 문제의 일부는 초기에 릴리스되는 개발 프로세스입니다. 우리는 이미 업데이트를 감지하고 업데이트를 위해 설치 프로그램의 다운로드 및 실행을 요청하는 프로세스를 가지고 있습니다. 이로 인해 한 클라이언트, 특히 컴퓨터가 잠겨있어 IT 부서에서 업데이트해야하는 문제가 발생했습니다. 일주일에 대략 업데이트가 있었기 때문에 IT 부서에서 상당히 성가 셨습니다. IT 부서의 불만이이 길을 걷는 이유였습니다. –

+0

가능한 한 쉽게 네트워크를 통해 배포 할 수 있도록 함께 작업하는 것이 좋습니다. 그들이 모든 것을 손으로 업데이트한다면, 그들은 어려운 방법으로 그것을하고 있습니다. – Soviut

0

로더 스텁이 좋은 방법입니다. 유일한 문제는 로더를 업데이트해야 할 때입니다. 똑같은 초기 문제가 적용됩니다 (꽤 드물 것입니다).

내 머리 꼭대기에서 생각할 수있는 한 가지 문제는 더 안전하게 "안전하게"유지하려는 전체 아이디어를 벗어나고 있다는 것입니다. 실행 파일이 관리자가 아닌 사용자도 완전히 액세스 할 수 있어야하는 위치에 있기 때문에 다른 프로그램이 exe를 훔쳐 보안을 악용 할 수 있습니다.

1

프로그램 설치시 문제가 있습니까? 특히 큰 것인가?

프로그램을 실행하려면 관리자 권한이 필요합니까?

그렇지 않은 경우 프로그램 파일 폴더가 필요하지 않습니다.

프로그램 파일을 완전히 설치하지 않고 사용자의 폴더 시스템에 프로그램을 설치하는 것이 좋습니다 (<userfolder>\AppData\ProgramName).

.NET을 사용하는 경우 ClickOnce deployment mechanism을 살펴보십시오. 아마 당신의 삶을 훨씬 쉽게 만들어 줄 훌륭한 자동 업데이트 기능이 있습니다.

편집 : 마지막 문장을 보았습니다. ClickOnce는 사용자가 강제로 업데이트 할 수 있습니다.

+0

실제로 두 개의 별도 앱이 있습니다. 하나는 사용자 상호 작용없이 업데이트 할 수 있어야하는 키오스크입니다. Clickonce는 사용자가 두 번 클릭하여 업데이트를 설치해야하므로 해당 응용 프로그램에 대한 내 요구 사항에 맞지 않으며 두 응용 프로그램에 동일한 업데이트 방법을 사용하려고합니다. –

+0

음, 여전히 ClickOnce가 최상의 솔루션이라고 생각합니다. 완전히 자동으로 업데이트하는 것이 최상의 UI 인 IMO는 아니지만 Program Files 폴더가 아닌 사용자의 폴더 시스템에 설치하여 문제를 해결할 수는 있습니다 . 프로그램은 사용자 권한으로 실행되며 사용자는 AppData에 아무런 문제없이 읽고 쓸 수 있습니다. Badabing, badaboom, 필요가 없습니다. – Randolpho

1

몇 가지 :

당신이 당신의 응용 프로그램이 프로그램이 설치된 위치에 투명하게 데이터를 기록 있는지 확인, 문서의 어떤 장소에 응용 프로그램을 이동하기로 결정하는 경우, 예를 들어, 코드 내에 하드 코딩 된 경로가있어 불량 장소를 가리키는 경우 아마도 이것은 당신에게 문제가 아니지만 염두에 두어야 할 사항 일 수 있습니다.

우리는 "라이브 업데이트"기능을 구현하기로 결정했을 때와 거의 같은 방식으로이 문제를 해결했습니다. 대신 관리자 권한으로 실행되는 서비스를 설치했습니다. 이 서비스는 프로그램을 업데이트해야하는 경우 설치 프로그램을 실행할 수 있습니다. 이러한 유형의 솔루션을 사용하면 프로그램 파일에서 응용 프로그램을 이동할 필요조차 없습니다.

건배!

편집 :

관리자 권한으로 실행되는 서비스를 가진 또 다른 깔끔한 것. 일반 사용자로는 할 수없는 것처럼 이름이 지정된 파이프 통신을 만들어서 사용할 수 있습니까?

0

아마도 AppLocker을 활용할 수 있습니다. 더 이상 Vista를 실행하지는 않지만 Win7에서만 사용할 수 있습니다. ;)

관련 문제