2016-07-24 3 views
0

WiX를 사용하여 응용 프로그램의 설치 프로그램 (MSI)을 작성했습니다.이 파일은 사용하기에 불편한 "업데이트해야하는 파일을 사용하는 응용 프로그램 이 설정 "에 의해 :WiX 설치 과정에서 무리한 양의 "사용중인 파일"

Excessive Files In Use during Installation

이 일부 사용자 몇 번 발생하며 이런 일이 발생하고이를 해결하는 방법을 왜 아주 이해가 안 돼요.

내 응용 프로그램의 설치 프로세스가 이러한 모든 응용 프로그램과 충돌하는 이유가 표시되지 않으며 추가 조사 방법을 모르겠습니다.

내 응용 프로그램은 독립 실행 형 데스크탑 응용 프로그램입니다. 추가 기능이나 나열된 응용 프로그램과 상호 작용하거나 의존하는 응용 프로그램이 아닙니다.

내 설치 프로세스가 수행 단계 : 닷넷 프레임 워크 4.0 CP를 사용할 수 있는지

  1. 확인 (출구없는 경우).
  2. [제품] 프로그램 파일 [회사]에서 응용 프로그램을 설치 (내 EXE, 내 DLL을 포함, 2 타사 DLL의 I 번들이)
  3. 시작 메뉴 항목을 추가 필요한 경우 MS 비주얼 C++ 런타임 재배포 14.0을 설치합니다 (시작 & 제거 바로 가기 실행)
  4. 사용자 로그온시 내 응용 프로그램을 시작하는 예약 된 작업을 만들기위한 사용자 지정 작업 (관리자는 응용 프로그램이 관리자로 실행 됨).
  5. 설치가 끝난 후 응용 프로그램을 시작하기위한 사용자 지정 동작 (마지막 대화 상자에서 확인란을 선택한 경우).

이 문제를 해결, 또는 적어도이의 원인을 조사하는 방법에 대한 조언, 설치 프로그램을 실행하는 경우에만 발생합니까

답변

2

:-) 이해할 수있을 것이다 및 데스크톱 응용 프로그램이 이미 실행 중입니다?

더 자세히 조사하려면 로그 파일을 살펴 보는 것이 가장 좋습니다. 로그 파일은 다른 프로세스에 의해 개최되는 파일, 같은 대한 세부 사항이있을 것이다 : 당신은 그 다른 프로세스에 의해 사용되는 실제 파일을 결정하면

Info 1603. The file C:\...\abc.exe is being held in use by the following process: Name: xyz, Id: 19010, Window Title: 'xyz'. Close that application and retry. 
Info 1603. The file C:\...\abc.dll is being held in use by the following process: Name: xyz123, Id: 9243, Window Title: 'xyz123'. Close that application and retry. 

, 그것은 당신이 알아내는 데 도움이 될지 근본 원인은. 기본적으로 INSTALLVALIDATE windows installer 작업은 덮어 쓰거나 제거 할 하나 이상의 파일이 현재 활성 프로세스에서 사용 중인지 여부를 결정합니다. File costing 동안 모든 프로세스에서 실행 또는 수정하도록 열려있는 동안 파일을 덮어 쓰거나 제거하면 항목이 내부 FilesInUse 테이블에 추가됩니다. FilesInUse 테이블 이름과 파일의 전체 경로에 대한 열이 포함되어 있습니다. InstallValidate 동작이 실행되면 Installer는 FilesInUse 테이블에서 항목을 쿼리하고 파일을 사용하는 프로세스의 이름을 결정합니다. InstallValidate 작업은이 쿼리로 식별되는 각 고유 프로세스에 대해 하나의 레코드를 ListBox 사용자 인터페이스 테이블에 추가합니다. 내 응용 프로그램이 설치되거나 실행되기 전에 :-) 모든 세부 사항에 대한

+0

감사는, 지금까지 만 초기 설치 중에 일어난 없음. MS Visual C++ Runtime 병합 모듈 때문일 수 있습니까? 제 설치 프로그램이 그것을 대체 할 수 있습니까? 그리고이 모든 응용 프로그램은이 응용 프로그램의 영향을 받습니까? 로그에서 단서를 찾으려고 노력할 것입니다. 단지 추측을 던지려고합니다 :-) – Itamar

+0

그래, 나는 그것이 C++ Runtime Redist가 근본 원인 일 수 있다고 생각합니다. – Isaiah4110

+0

로그를 사용하여 문제를 재현하는 데 운이 없다 :-(C++ Runtime Redist가 근본 원인인데, 어떻게 대처할 수 있습니까? WiX How-To를 따라 설치했습니다. (http : // wixtoolset .org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html) – Itamar