0

지연된 사용자 지정 동작이있는 msi 패키지를 만들었습니다.WIX : 매핑 된 네트워크 드라이브에서 msi를 실행하십시오.

<CustomAction Id="TestTxt" BinaryKey="MyDLL" DllEntry="TestTxt" Execute="deferred" Impersonate="no" /> 
<CustomAction Id="SetTestTxt" Property="TestTxt" Value="[SourceDir]test.txt" /> 

이 CA는 msi 옆에있는 test.txt 파일의 내용을 읽습니다.

설치가 로컬 드라이브와 네트워크 경로 에서 제대로 작동하지만 CA가 파일 test.txt를 찾을 수없는 매핑 된 네트워크 드라이브에서 실행하려고 시도했습니다. System.IO.DirectoryNotFoundException 예외가 발생했습니다 ...

문제가 될 수있는 아이디어가 있습니까? 어떻게 해결할 수 있습니까? 고마워!

+0

매핑 된 드라이브에 대해 SourceDir을 올바르게 설정해야합니다. 설치 로그를 만들어 매핑 된 네트워크 드라이브에 어떤 값이 있는지 확인할 수 있습니다. –

+0

SourceDir이 맞습니다. CustomAction의 로그에서 필자는 누락 된 파일이 M : \ test.txt (M은 매핑 된 드라이브 임)임을 알 수 있습니다. – Hila

답변

2

msi가 상승 된 권한으로 실행되고이 경우 네트워크 매핑 된 드라이브를 해당 프로세스에서 사용할 수없는 것이 문제 일 수 있습니다 (KB 937624 참조). KB의 해결 방법은 레지스트리 편집과 컴퓨터 재시작을 의미하므로 간단한 해결책이 없습니다.

+0

답변 해 주셔서 감사합니다. XP에서 설치를 실행하고 있지만 레지스트리 키를 추가하려고 시도했지만 도움이되지 않았습니다 ... – Hila

+0

계정 관리자 계정입니까? 프로세스 모니터에서 설치 프로그램을 실행하여 자세한 정보를 얻을 수도 있습니다. – CharlesB