2013-08-08 5 views
4

일부 Windows 기능이 내 소프트웨어를 설치하는 데 사용되는지 확인해야합니다.WIX 가능 Windows 기능

dism 명령 줄 도구를 사용하여 검사하거나 설치할 수 있습니다.

이 작업을 수행하는 사용자 지정 작업을 만들지 만 "WIX 기본 방법"으로 작업을 수행 할 수있는 방법이 있습니까?

<Property Id="dism" Value="dism.exe" /> 
<CustomAction Id="InstallMSMQContainer" Property="dism" ExeCommand=" /online /enable-feature /featurename:MSMQ-Container /featurename:MSMQ-Server /featurename:MSMQ-ADIntegration" Return="check" Impersonate="yes" Execute="oncePerProcess"/> 

<InstallUISequence> 
    <Custom Action="InstallMSMQContainer" After="CostFinalize" Overridable="yes">NOT Installed</Custom> 
</InstallUISequence> 

문제는 명령 프롬프트가 최종 사용자에게는 매우 못 생기는 것입니다. 어떻게하면 좋을까요? (.NET Framework 설치와 같이) 부트 스트 래퍼가 필요한지 여부는 알 수 없습니다.

그런 일을 관리 할 확장 프로그램이 있습니까?

지금 WIX 3.7을 사용 중입니다.

+1

조용한 실행 사용자 지정 작업을보십시오. http://wix.sourceforge.net/manual-wix3/qtexec.htm –

+0

@YanSklyarenko가 방금 같은 링크로 답변을 게시 한 후 귀하의 의견을 발견했습니다! –

답변

0

내가하는 방식은 dism.exe 프로세스를 호출하는 DTF 사용자 지정 작업을 만드는 것입니다. 동일한 결과를 얻고 명령 프롬프트가 시작되지 않습니다.

DISM 매개 변수는 사용자 지정 작업 데이터를 통해 설정됩니다.

6

데이비드 가디너의 대답은 내 경우에는 올바른 솔루션을 암시하는 것이 좋습니다. 나만의 맞춤 동작을 만들 필요는 없습니다. 다음은 Windows의 64 비트 설치를 수행하는 방법입니다 : MSMQ가 설치되어있는 경우

먼저 결정 :

<Property Id="MSMQINSTALLED"> 
    <RegistrySearch Id="MSMQVersion" Root="HKLM" Key="SOFTWARE\Microsoft\MSMQ\Parameters" Type="raw" Name="CurrentBuild" /> 
</Property> 

사용자 지정 작업을 선언합니다. 두 개 필요해. 하나는 DISM의 경로에 속성을 설정하고, 다른 하나는 그것을 실행하는이 시간이 조금 걸릴 수 있으므로

<InstallExecuteSequence> 
    <Custom Action="InstallMsmq_Set" After="CostFinalize"/> 
    <Custom Action="InstallMsmq" After="InstallInitialize">NOT REMOVE AND NOT MSMQINSTALLED</Custom> 
</InstallExecuteSequence> 

:

<CustomAction Id="InstallMsmq_Set" Property="InstallMsmq" Value="&quot;[System64Folder]dism.exe&quot; /online /enable-feature /featurename:msmq-server /all" Execute="immediate"/> 
<CustomAction Id="InstallMsmq" BinaryKey="WixCA" DllEntry="CAQuietExec64" Execute="deferred" Return="check"/> 

마지막으로 설치 순서에서 사용자 지정 작업을 지정 당신이 설치 실패에 MSMQ를 제거하려는 경우도 롤백 작업을 지정할 수 있습니다

<UI> 
    <ProgressText Action="InstallMsmq">Installing MSMQ</ProgressText> 
</UI> 

: 나는 설치 상태 텍스트를 업데이트하려면 다음을 추가했습니다.

+0

다른 창 기능을 설치하는 사람들에게 위의 도움이되는 질문과이 질문에 대한 답변도 나와 있습니다. http://stackoverflow.com/questions/18992363/test-for-windows-features#answer-18997675 –