2013-08-15 3 views
1

사용자가 네트워크 공유를 가리키는 바탕 화면 바로 가기를 통해 시작하는 작은 응용 프로그램을 만들었습니다. 앱을 다시 컴파일하고 네트워크 공유로 이동하여 사용 가능하게 만들 때마다 앱을 사용하는 많은 사용자가 항상 잠글 수 있습니다. 내가 얻을 수없는 것은 모든 핸들 (넷 파일 1234/닫기)을 닫을 수 있으며 사용자는 영향을받지 않는다는 것입니다. 즉, 앱에서 계속 작동 할 수 있습니다. 그런 다음 새 파일을 복사하고 다시 시작하도록 요청합니다.공유 응용 프로그램의 잠금 방지

네트워크 EXE 파일에서 프로그래밍 방식으로 사용자를 시작한 후에는 사용자가 프로그램을 시작하여 매번 모든 핸들을 수동으로 닫지 않아도되는 방법이 있습니까?

+0

이미 ClickOnce 응용 프로그램으로 배포하려고 시도 했습니까? http://msdn.microsoft.com/en-us/library/71baz9ah.aspx –

답변

3

영향을 받겠지만 지터가 실제로 작동하는 방식은 프로그램이 충돌 할 가능성이 거의 없습니다. 코드에서 Reflection을 사용하거나 사용자의 컴퓨터가 다른 프로세스의 메모리 압력을 받고 프로그램이 실행되지 않은 코드를 실행하면 충돌이 발생할 수 있습니다. YMMV.

올바른 배포 선택은 ClickOnce입니다. 이렇게하면 사용자 컴퓨터에 프로그램의 로컬 복사본이 만들어집니다. 다시 시작할 때 업데이트가 자동으로 표시됩니다.

가능한 붕대는 실행 파일의 이름을 바꿉니다. Windows는 디렉토리 항목이 아닌 파일 내용에 잠금을 설정하기 때문에 작동합니다. 동일한 이름의 업데이트를 복사 할 수 있습니다. 앱을 다시 시작한 사용자는 이제 새 버전을 받게됩니다. 결국 이름이 바뀐 파일을 삭제할 수있게됩니다. 그러나 먼저 ClickOnce를 선호하십시오.

+1

ClickOnce는 배포 문제가 발생하지 않지만이 시나리오에서 가장 좋은 옵션 일 것입니다. 기존 응용 프로그램을 ClickOnce로 마이그레이션 할 때 가장 큰 문제는 프로그램 파일이나 특정 디렉토리에 프로그램을 배포해야하는 응용 프로그램 (다른 사람들이 작성한 프로그램)입니다. 또한 개발자는 인증서 등을 유지 보수하는 데주의를 기울여야합니다. – jfrankcarr

+0

나는 ClickOnce가 certs 때문에 두려워했다 ... 나는 다시 살펴볼 것이다. 이름 바꾸기가 작동하지 않는 것 같습니다 (파일이 사용 중입니다). – chris

관련 문제