2014-04-09 6 views
0

다소 복잡한 설치 프로그램이있는 서버 응용 프로그램에 대해 사용자 지정 BA를 작성했습니다. 이 시점에서 사용자 정의 BA는 원격 페이로드를 다운로드 할 때 잘 작동합니다. 그러나, 내가 좋아하는 wix 화상 기능 중 하나는/layout 명령 줄 옵션을 통해 "오프라인"설치를 지원하는 기능이었습니다.사용자 정의 wix 굽기 바 (bootstrapper 응용 프로그램)에서/Layout에 대한 지원을 어떻게 구현합니까?

사용자 정의 bootsrapper를 만든 순간/layout 옵션이 깨져서 아무 것도하지 않습니다. 그래서 나는 또한 사용자 정의 BA에 대한/레이아웃 기능을 구현해야한다는 것을 알았지 만, 에 대한 좋은 리소스를 찾을 수없는 것 같습니다. 어떻게해야합니까? WiX 소스 코드를 살펴 보았지만 약간의 혼란이 따른다.

이전에이 작업을 수행 한 사람이 있습니까? 여기에 내 첫 번째 균열이 있지만 행운이 없습니다. 어떤 도움이라도 대단히 감사 할 것입니다, 감사합니다! https://github.com/wixtoolset/wix3/tree/develop/src/Setup/WixBA

답변

0

윅스 BA

한 접근 방식을 보여줍니다! 다양한 프로젝트를 통해 다양한 프로젝트를 탐색 할 수 없었습니다. 이는 많은 도움이됩니다. WixBA Setup 프로젝트에서 예제를 격리하고 특정 답변을 게시하려고합니다 (나중에 참조 할 수 있습니다).
+0

감사합니다 밥 :

public class CustomBootstrapperApplication : BootstrapperApplication { protected override void Run() { // other bootstrapper actions... if (Command.Action == LaunchAction.Layout) { // grab the layout directory string layoutDirectory = Command.LayoutDirectory; // is this how you perform the layout? // currently the BA is asynchronous Engine.Plan(LaunchAction.Layout); Engine.Apply(IntPtr.Zero); Engine.Quit(0); // it doesn't seem to do anything. // do I need to subscribe to some event? // what about using this thing? string packageId = "sompackageid"; string payloadId = "somepayloadid"; string path = Path.Combine(layoutDirectory, packageId); Engine.SetLocalSource(packageId, payloadId, path); } } }