2008-10-03 2 views
4

현재 단일 인스턴스 clickonce 배포 응용 프로그램에 문제가 있습니다. 아마도 누군가 그것에 대해 좋은 생각을 가지고 있습니다.실행중인 clickonce가 단일 인스턴스 앱을 배포했는지 확인 하시겠습니까?

내 응용 프로그램은 매개 변수를이 exe에 전달하는 웹 응용 프로그램에 의해 호출됩니다. 이제 문제는 응용 프로그램이 이미 실행중인 경우 새로운 인스턴스가 시작될 때까지 매개 변수가 실행중인 인스턴스로 전달되고 닫힐 때까지 (URL을 열고 업데이트를 확인하는 등) 시간이 오래 걸리는 것입니다.).

그래서이 작은 탐지기를 도입하지 않고 실행중인 인스턴스가 있는지 감지하는 방법이 있습니까?

목표는 두 번째, 세 번째, ... 호출이 실행중인 인스턴스에 매개 변수를 가져 오는 데 필요한 시간을 줄이는 것입니다.

+0

매개 변수를 응용 프로그램에 전달하는 방법은 무엇입니까? 쿼리 문자열? 그렇다면 응용 프로그램의 두 번째 인스턴스를 시작하려고 할 때 첫 번째 응용 프로그램이 매개 변수를 가져 오는 방법은 무엇입니까? 우리는이 구현하려고하지만 StartupNextInstance 이벤트 쿼리 문자열 매개 변수가 포함되어 있지 않습니다. – codeConcussion

답변

1

배포 설정을 구성 할 때 VS에 응용 프로그램이 x 시간 (매일, 일주일 등에 한 번) 만 업데이트하도록 설정할 수 있습니다. 응용 프로그램을 시작하고 백그라운드에서 업데이트하도록 알릴 수도 있습니다. 이 두 가지 모두 내가 생각하기에 자신의 문제를 해결할 것입니다.

설정은 프로젝트 설정의 게시 탭에 있습니다. "설치 모드 및 설정"섹션에서 "업데이트"버튼을 클릭하고 적절한 설정을 지정하십시오.

0

나는 그것이 내가 달성하려고 노력하고있는 것이 명확하지 않다고 생각한다.

내가하려는 것은 clickonce URL을 시작하지 않고이 인스턴스에 직접 액세스하여 실행중인 인스턴스가있는 경우입니다. 나는 솔루션을 찾고 있는데, 작은 프로그램을 작성하지 않아도된다. (앱은 전개되어야한다 ...), 앱이 실행 중인지 확인한다. 그렇다면 params를 넘겨 준다. clickonce url.

"앱에 연결 중"화면이 아직 남아있어 시간이 오래 걸리고 모든 사용자가 앱의 최신 버전을 실행할 때마다 반드시 실행해야하기 때문에 배경 업데이트는 실제로 옵션이 아닙니다.

+0

그러면 해결책이 없습니다. 응용 프로그램을 실행하기 전에 업데이트 창이 표시되어야합니다. 원하지 않는다면 업데이트 확인을 연기 할 필요가 없습니다. 프로그램을 실행할 때마다 백그라운드에서 체크인 할 수 있으므로 프로그램을 열 때까지 건너 뜁니다. –

+0

기본적으로 응용 프로그램을 최신 상태로 유지하도록 요청하고 있지만 응용 프로그램 자체를 업데이트하지 않으려는 경우입니다. 슬프게도, 이것은 아직도 불가능합니다. 호주의 인터넷 연결을 원한다고 생각합니다. ( –

0

이것은 Click-Once 기술의 흥미로운 사용법입니다. 저는 Click-Once가 클라이언트 응용 프로그램을 여러 개의 최종 사용자 컴퓨터에 배포하는 데 이상적이라는 인상을 받았습니다.

여기서 설명하는 상황에서는 웹 서버 응용 프로그램에서 사용하는 백그라운드 응용 프로그램입니다. 엔터프라이즈의 소수 서버에만 설치 될 것으로 예상됩니다. 내가 가진

질문은 다음과 같습니다 웹 응용 프로그램이이를 감지 할 수 있다면

  • 어떻게 웹 응용 프로그램이 실행중인 인스턴스에 매개 변수를 전달하는 것? (예 : .NET 리모팅)
  • Windows Installer와 달리 Click-Once를 통해이 백그라운드 응용 프로그램을 배포하는 이유는 무엇입니까?

이 내용을 알고 있으면 문제를 해결하는 데 도움이 될 수 있습니다.

1

아니요 배경 앱이 아닙니다. 웹 응용 프로그램과 Winforms 응용 프로그램은 유사한 데이터베이스 하위 집합으로 작업합니다. 나는 그 질문에 대해서는 중요하지 않지만, 더 명확하게하기 위해 세부 사항으로 들어가려고 노력하고있다. Web-app을 사용하면 사용자가 비즈니스 사례를위한 메타 데이터를 만들고 Winforms 앱을 사용하여 사용자가 수행한다. 그들의 구체적인 작업.

이 링크를 사용하면 새로운 메타 데이터 집합을 만들고 "작업 응용 프로그램"에서 결과를 교차 점검 할 수 있습니다.

  1. 윈폼 - 응용 프로그램이 클라이언트에서 실행되지 않습니다 :

    그래서 2 개 구체적인 시나리오가 사용자가 클릭 한 번 시작 메뉴 항목 또는 웹 응용 프로그램의 링크, 모든를 클릭하면 지금은 (업데이 트 체크, ....)와 같은 방식으로 이루어져야합니다. 그래서이 시나리오는 저에게 효과적입니다.

  2. Winforms-App가 클라이언트에서 실행 중입니다. 실행중인 인스턴스에 한 번 클릭 확인 업데이트없이 가능한 한 빨리 새 메타 데이터 집합이 표시되어야합니다. "클릭 한 번 시작 응용 프로그램"대화 상자가 나타나고 새 응용 프로그램 인스턴스가 시작되고 새 인스턴스가 실행중인 인스턴스에 매개 변수를 전달하고 자체를 닫는이 시나리오에서는 무시하려고합니다. 그래서 새로운 작은 exe를 만들지 않고 솔루션을 찾고 있습니다.이 작은 exe는 작업을 수행하는 웹 응용 프로그램에서 알려져 있습니다.

관련 문제