2014-06-09 3 views
0

msi가 있습니다. 그것에는 여러 개의 설정 파일 (a.config 등)과 exes (jux.exe 등)이 있습니다.windows installer : 설치 후 exe 실행

내 msi에서 사용자 지정 작업을 만들었습니다 - exe (jux.exe) 중 하나에 커밋하십시오. 나는 installerclass을 거짓으로 만든다.

msi가 설치 후 바로 jux.exe으로 전화하는 것이 좋습니다. 그것은 MSI (a.config, b.config 등) 내부의 파일 (jex.exe, jax.exe 등) 및 읽기 일부 파일의 존재를 확인하려고 할 때까지

jux

확인을 시작할 수 있습니다. jux.exe 캔트 같은 파일을 찾으십시오.

커밋을 사용하지 않아야합니까? 아이디어?

+0

아무도 도와 줄 수 있습니까? –

답변

1

파일 위치에 대한 가정을하기 때문에 실패 할 가능성이 높으며 잘못되었습니다. exe는 시스템 계정과 알 수없는 작업 디렉터리가있는 msiexec.exe에서 실행되고 있습니다. 탐색기가 작업 디렉토리를 설정하고 사용자의 자격 증명으로 실행하는 대화 형 사용자 쉘에서 실행되지 않습니다. 코드가 정확한 경로를 지정하지 않고 a.config를 열려고하면 찾지 못할 것입니다.

모든 VS 사용자 지정 작업은 모든 것이 설치된 후에 실행되므로 운이 좋았습니다. 커스텀 커스텀 액션은 필요하지 않습니다. 커스텀 커스텀 액션도 가능합니다. 모든 파일이 설치된 후에도 호출됩니다. 파일의 존재를 검증하려는 이유가 명확하지 않습니다. MSI 설치는 작동하고 모든 것을 설치하거나 실패하고 롤백하여 시스템을 이전 상태로 복원합니다. 따라서 파일을 설치했는지 확인할 필요가 없습니다.

+0

spot on. 감사! –

0

이 프로젝트 유형을 사용하여이 문제를 해결할 수있는 좋은 방법은 없습니다. 사용자 지정 작업을 예약 할시기를 완전히 제어하지 못하고 지나치게 단순한 선택으로 바뀝니다. 내가 너라면이 사용자 지정 작업을 WiX 병합 모듈에 넣은 다음 VDPROJ 설치 프로그램에 병합 (또는 전체 WiX로 이동)합니다.

+0

내가하고 싶은 것은 실제로 매우 간단합니다. 그리고 나는 많은 설치 관리자가 그것을하고 있다고 생각할 것이다. 내가하고 싶은 것은 msi (패키지)를 추출하고 exe (설치 프로그램)를 실행하는 것입니다. Windows 설치 관리자가이를 수행 할 수 있어야합니다. 나는 틀린가? –

+1

Windows Installer가 할 수 있습니다. Visual Studio 설치 프로그램 프로젝트는 이러한 관계를 작성할 수 없습니다. –

+0

당신은 msiexec을 사용하여 이것을 달성 할 수 있다는 것을 의미합니까? 어떤 스위치를 사용해야합니까? –

관련 문제