2014-04-28 1 views
2

WiX 사용자 지정 동작에서 속성을 다시 전달할 수 있습니까? 나는 몇 시간 동안 해결책을 찾아 내려고 노력해 왔지만, 나는 많은 해답을 보았지만 아무 것도 나를 위해 일하지 못했다. 여기에 내가,Wix : C# 사용자 지정 작업에서 속성 다시 전달

C 번호 (사용자 지정 작업)

public class CustomActions 
{ 
    [CustomAction] 
    public static ActionResult TestAction(Session session) 
    { 
     session["FOO"] = "BAR"; 
     return ActionResult.Success; 
    } 
} 

윅스 FooDlg.wxs

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
    <Property Id="FOO"/> 
    <UI> 
     <Dialog Id="FooDlg" Width="370" Height="270" Title="Foo"> 

     <Control Id="FOO" Type="Edit" Property="FOO" Height="17" Width="45" X="50" Y="150" Text="[FOO]" Indirect="no"/> 

     <Control Id="FOO" Type="PushButton" X="150" Y="200" Width="56" Height="17" Text="Test FOO"> 
      <Publish Event="DoAction" Value="Testing">1</Publish> 
     </Control> 

     </Dialog> 
    </UI> 
    <CustomAction Id='FOO' BinaryKey='FooBinary' DllEntry='TestAction' Execute='immediate' Return='check'/> 
    <Binary Id='FooBinary' SourceFile='FOO.dll'/> 
    </Fragment> 
</Wix> 

답변

2

예를 시도거야, 당신은에서 사용자 지정 작업에서 다시 속성을 전달할 수 있습니다 설치 관리자. 속성이 공개 (이름에 대문자 만)하고 사용자 지정 작업이 즉각적으로 실행되도록 설정하고 대화 형 대화 상자가로드되기 전에 실행되는지 확인하십시오 (설치 관리자를 실행하는 동안 자세한 로그를 사용하여 속성 값을 추적하고 검색 만하면됩니다). 그 안에있는 속성 이름에 대해).

+1

InstallExecuteSequence에서 사용할 계획이라면 보안으로 표시해야 할 수도 있습니다. –

관련 문제