2013-05-14 2 views
1

부트 스트 래퍼의 제거 위치에 프로그래밍 방식으로 액세스해야합니다. 모든 패키지가 성공적으로 설치되면 제거 중에 체인의 패키지에 필요한 일부 파일을 이곳으로 이동해야하기 때문에이 정보가 필요합니다.Wix Bootstrapper 제거

레지스트리의 UninstallString 값을 다른 위치로 수정하고 부트 스트 래퍼 실행 파일 및 기타 필수 파일을이 위치로 복사해야 할 수 있습니다. 그렇게 할 때 부작용이 있습니까?

답변

0

페이로드를 사용하여 필요한 파일을 추가 할 수 있습니다. 파일은 boostrapper.exe에 압축되어 있으며 부트 스트 래퍼와 동일한 폴더에서 실행 중에 사용할 수 있습니다. 부트 스트 래퍼 어플리케이션에 필요한 파일을 부트 스트 래퍼 어플리케이션의 페이로드에 추가하십시오.

<BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'> 
    <Payload SourceFile='MyBA.dll' /> 
    <Payload SourceFile='BootstrapperCore.config' /> 
    ... place additional playload files here ... 
    </BootstrapperApplicationRef> 

당신은 또한 특정 패키지에 파일을 추가 할 수 있습니다

Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "payloadfilename"); 

로 부트 스트 래퍼 코드에서 액세스 할 수 있습니다.

<ExePackage InstallCommand="/q /norestart /ChainingPackage &quot;[WixBundleName]&quot;" 
      UninstallCommand="/uninstall /q /norestart /ChainingPackage &quot;[WixBundleName]&quot;" > 
    <Payload SourceFile="payloadfilename"/> 
    </ExePackage> 
+0

고맙습니다. 나는이 문제를 조금 다르게 풀었다. 제거 중에 사용되는 파일에 대해 폴더 구조를 유지해야하므로 모든 패키지가 성공적으로 설치되면 내 자신의 설치 해제 위치를 정의하고이 폴더로 필요한 폴더/파일을 이동했습니다. 제거하는 동안 내 사용자 정의 부트 스트 래퍼 응용 프로그램에서 현재 작업 디렉토리를이 사전 정의 된 제거 위치로 변경했습니다. 그런 다음 제대로 작동하고 체인의 모든 패키지가 제거 중에 필요한 파일에 액세스 할 수 있습니다. – microsoftprogrammer