2013-02-10 1 views
0

내 응용 프로그램 설치를 위해 VS2010에 설치 프로그램을 만들었지 만 python과 같은 타사 필수 구성 요소가 있습니다. 추가 설치 프로그램을 포함 된 리소스로 포함하고 파일로 추출하여 실행합니다 (사용자 지정 작업으로). 작동하지만 2 명의 설치 관리자를 동시에 실행하는 것은 불가능하므로 설치 관리자에서 설치 관리자를 설치하면 오류가 발생합니다.C# 인스톨러에 타사 응용 프로그램 설치

응용 프로그램 설치 중에 어떻게 이러한 타사 응용 프로그램을 설치할 수 있습니까? (속성 페이지의 '전제 조건'은 .NET 및 SQL 서버와 같은 MS 작업에만 관련되므로 ...)

감사!

+0

어쩌면 이것은이다 : 당신은 BMG을 사용하지 않는 경우, 수동이 유사한있는 product.xml의 명령 노드를 편집 할 수

enter image description here

: 여기 내 BMG 설정의 스크린 샷입니다 당신이 찾고있는 대답 : http://stackoverflow.com/questions/8432858/how-to-install-3rd-party-prerequisites-on-c-sharp-msi (두 번째 대답) – bas

+0

답장을 보내 주셔서 감사합니다. 다음 답변에 대한 내 답변으로 부트 스트랩 프로세스가 내가 찾고있는 것이지만 로그 메시지를 사용하여 설치하려고하면 실패합니다 : "C : \ Windows \ SysWOW64 \ msiexec.exe '명령과 매개 변수를 사용하여 설치 '-I'C : \ Users \ WINVM ~ 1 \ AppData \ Local \ Temp \ VSD5254.tmp \ MySoft_Installer \ python-2.7.3.m si "-q"프로세스를 올리려고 시도합니다. 설치 후 'MySoft 필수 구성 요소'패키지가 'InstallFailed' " 왜 실패 할까? –

+0

전제 조건 설치를 계속 실행했지만 설치하기 위해 사용자 상호 작용이 필요하므로 오류가 발생한다고 생각합니다. 설치 중에 사용자와 상호 작용하도록 설치 프로그램을 설정하려면 어떻게합니까?(로그에서 볼 때 자동으로 사용되는 -q 플래그를 사용하지 않음) –

답변

1

System.Diagnostics.Process를 사용할 수 있습니다. 주어진 경로의 파일을 실행할 수 있습니다 (예 : MySQL 서버 설치 프로그램. see this 그러나 실행 파일을 제공해야합니다. Ramhound가 자신의 의견에서 제안한 것처럼 설치 프로그램을 제작할 상용 제품을 살펴보십시오. 내 개인적으로 좋아하는 고급 설치 프로그램을 포함하여 여러 사용자가 초기 요구 사항을 충족시킬 수있는 무료 버전의 도구를 제공합니다.

사전 요구 사항 패키지 방법 (MSI 또는 EXE)에 따라 MSI는 사용자 지정 작업이나 prereq 대상 시스템을 검색하는 부트 스트 래퍼를 사용하지 않고 해당 prereq를 직접 설치하지 못할 수도 있습니다. 목표 시스템에는 존재하지 않습니다.

제쳐두고, 저는 몇 년 동안 유료 고객이었던 것 외에는 고급 설치 프로그램과 아무런 관련이 없습니다. 견고한 제품 외에도 서비스가 우수합니다.

+0

언급 된 부트 스트랩과 같은 것이었지만 작동하는 것처럼 보였지만 설치가 실패하고 로그의 메시지는 다음과 같습니다. 명령 'C : \ Windows \ SysWOW64 \ msiexec.exe'및 매개 변수 '-I "C : \ Users \ WINVM ~ 1 \ AppData \ Local \ Temp \ VSD5254.tmp \ MySoft_Installer \ python-2.7.3.msi"-q ' 프로세스를 올리려고 시도합니다. 코드 0으로 종료 된 프로세스 설치 후 'MySoft 전제 조건'패키지 상태가 'InstallFailed'입니다. –

0

방금이 동일한 문제가 발생했습니다. 내 부트 스트랩 패키지를 만드는 데 Bootstrapper Manifest Generator을 사용하고 있었고 설치 프로젝트에서이를 전제 조건으로 선택했습니다. 전제 조건 중 하나는 Python뿐이었습니다. 설치 로그에 따르면 Python 설치는 코드 0과 상태 'InstallFailed'로 종료됩니다.

설치가 실제로 성공했지만 0이 성공적인 종료 코드로 인식되지 않음을 발견했습니다. BMG의 Install File 속성에서이 문제를 해결했습니다. exit 코드 및 결과를 직접 입력 할 수있는 exit 코드 탭이 있습니다. 성공 결과 0을 추가하고, 패키지를 다시 빌드하고, 부트 스트 래퍼 패키지 폴더에 복사 한 다음, 마지막으로 설치 프로젝트를 다시 빌드합니다. 그 후 설치가 잘 진행되었습니다.

<Commands Reboot="Defer"> 
    <Command PackageFile="python-2.7.5.msi" Arguments="/q /norestart"> 
     <ExitCodes> 
     <ExitCode Value="0" Result="Success" /> 
      <DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" /> 
     </ExitCodes> 
    </Command> 
</Commands>