환영 대화 상자 전에 예약 된 사용자 지정 대화 상자를 만들고 싶습니다. 커스텀 대화 상자에는 비트 맵 컨트롤과 텍스트 컨트롤 그리고 취소 (SpawnDialog-> CancelDlg)와 다음 버튼 (NewDialog-> WelcomeDlg)이 있습니다. 고급 맞춤 동작이나 설정 속성이 없습니다.UI 시퀀스를 어지럽히 지 않고 welcomeDlg 전에 사용자 지정 대화 상자를 삽입하는 방법
- 윅스 버전 : 3.8
- 사용 WixUI_InstallDir.wxs
은 이미 다음과 같은 질문 발견 대답으로, 질문자 가져 표시된는 비록 How can I insert custom dialog before WelcomeDlg? 을 동일한 오류 메시지 (주석을 참조) 저 대답의 해답을 사용합니다. 따라서이 사본을 복제본으로 표시하지 마십시오.
다음 코드 (WixUi_InstallDir.wxs에서 dialogRef와 customDialog.wxs에서) 구축 않으며, 사용자 정의 대화 상자가, 첫 번째 대화로 표시됩니다 ...
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="CustomDlg" Width="370" Height="270" Title="[ProductName] - Setup">
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
<Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>
</Control>
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" Disabled="yes"/>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<!-- ... More Controls ... -->
</Dialog>
<InstallUISequence>
<Show Dialog="CustomDlg" After="CostFinalize">NOT Installed OR PATCH</Show>
</InstallUISequence>
</UI>
</Fragment>
</Wix>
...하지만 UI -sequence는 완전히 엉망이되어
customDlg -> welcomeDlg -> verifyDlg -> welcomeDlg -> verifyDlg -> progressDlg ... 그래서 시작 대화 상자로 다시 점프의 원인 - 버튼 "설치"를 클릭
. 두 번째 "턴"에서 설치 버튼을 클릭하면 설치를 트리거하는 데 필요한 효과가 있습니다. -P@Before, @After 또는 @Sequence로 다른 장소에서 사용자 정의 대화 상자를 예약하려고했습니다 (Orca를 사용합니다. UISequence를 살펴보고) 심지어 WelcomeDlg (여기에 설명 된대로 : http://neilsleightholm.blogspot.de/2008/08/customised-uis-for-wix.html)를 빌드하십시오. WelcomeDlg의 InstallUISequence-Element를 사용하여 사용자 정의 대화 상자 이후에 일정을 잡아 먹는 것처럼 엉망이되었습니다. 하지만 @ After = "CustomDlg"는 사용자 정의 대화 상자에서 @ Before = "WelcomeDlg"와 동일한 효과를 가지므로 UI 시퀀스를 다시 엉망으로 만듭니다.
나는 그 엉망을 일으키는 사용자 계정 컨트롤에 대해 생각했지만 UAC가 MSI의 ui-sequence로 되돌아 가려면 어떻게해야합니까? 나 한테 이해가 안돼. 어쨌든 나는 MSI를 admin-Cmd를 통해 실행하려고 시도했다. 설치 버튼을 눌렀을 때 UAC 프롬프트가 나타나지 않도록해야한다. 그러나 여전히 같은 UI 시퀀스가 엉망입니다.
미리 도움을 청하십시오.
감사를 찾을 수 있습니다. 당신은 정말로 나를위한 UI 시퀀스의 동작을 정리했습니다. 내가 원했던 대화는 어쨌든 일종의 "화장품"기능이었을 것입니다. 당신이 지적했듯이, 좋은 일이 아니고 가치있는 일이기 때문에, 저는 방금 환영 대화를 나의 필요에 맞게 바꾸 었습니다. – Sepelio