2013-02-11 5 views
2

이 설명서를 우연히 발견했습니다. http://wix.sourceforge.net/manual-wix3/wixnetfxextension.htm.설치되지 않은 경우 Wix 설치 프로그램이 설치됩니다.

예를 들어 .net4full이 설치되어 있지 않은 경우 설치 방법을 알아낼 수 없습니다.

현재 내 윅스 XML은 다음과 같습니다 : BTW, 내가 윅스 3.7을 사용하고

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"> 
    <Product Id="*" 
     ..... 
     ......... 
    > 
     <PropertyRef Id="NETFRAMEWORK40FULL"/> 
     <Condition Message="This application requires .NET Framework 4 FULL. Please install the .NET Framework then run this installer again."> 
     <![CDATA[Installed OR NETFRAMEWORK40FULL]]> 
     </Condition> 
     ..... 
     ......... 
     ............ 
     ......... 
     ............ 
    </Product> 

    ....................... 
    .............................. 
    ................................ 
    ......................... 
</Wix> 

!

+1

http://stackoverflow.com/questions/6991789/how-to-install-net-framework-4-0 -as-part-of-installation는 이것을 확인합니다 – Gilad

+0

Wix 3.7은 VS2008에서 작동하지 않습니다. 빌드 할 때 VS가 충돌합니다. –

답변

1

Wix 설정 프로젝트에서 .net framework 4.0이 있는지 확인하고이 제품을 설치하기 전에 .NET Framework 4.0을 설치해야하는 것처럼 사용자에게 메시지를 보낼 수 있습니다. 하지만 조용히하고 싶다면 (.net framework 4.0 존재 확인 ... 가능하면 제품을 설치하고 처음에는 .net framework 4.0을 설치 한 다음 제품을 설치하십시오.) 당신은 wix 부트 스트랩퍼로 수행해야합니다.

+0

Wiki Bootstrapper를 사용하지 않고 다운로드 URL로 .Net Framework를 자동으로 설치할 수 있습니까? – User

+0

예. 자동으로 .net 프레임 워크를 설치할 수 있습니다. – Programmer

+0

제발 이런 식으로 말해줘. – User

1

<?xml version="1.0" encoding="utf-8"?> 
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" 
      xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"> 

    <Bundle 
    Name="My Application" Version="1.0.0.0" UpgradeCode="8DA460D6-B4CB-4ED0-A1FE- 44F269070647" Manufacturer="ABC"> 
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"> 
    <bal:WixStandardBootstrapperApplication LicenseFile="Agreement.rtf" 
      LogoFile="App.ico"/> 
</BootstrapperApplicationRef> 
<Chain> 
<PackageGroupRef Id="Netfx45Xxx"/> 
    <MsiPackage SourceFile="D\MySetup.msi" Compressed="yes" EnableFeatureSelection="yes" Vital="yes"> 
    <MsiProperty Name='INSTALLFOLDER' Value='[InstallFolder]'/>  
    </MsiPackage> 
</Chain> 
<Variable Name='InstallFolder' Value='[ProgramFilesFolder]MyApp' />  

<Fragment> 
<PackageGroup Id="Netfx45Xxx" > 
    <ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q" 
     SourceFile="dotnetfx45_full_x86_x64.exe" 
     DetectCondition="(Netfx4FullVersion=&quot;4.5.50709&quot;) AND (NOT VersionNT64 OR (Netfx4x64FullVersion=&quot;4.5.50709&quot;))" 
     InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion=&quot;4.5.50709&quot; OR Netfx4x64FullVersion=&quot;4.5.50709&quot;))"/> 
</PackageGroup> 

이 코드를 다음과 같이 Bootstarpper 코드 샘플 .net 버전을 첨부하십시오. 시스템에서 .net 4.5를 사용할 수없는 경우 응용 프로그램 설치를 설치하기 전에 프레임 워크를 설치합니다.

+0

감사 합니다만 SourceFile 속성을 정의해야합니까? – User

+0

예 .. 응용 프로그램 설정을 부트 스트 래퍼로만 연결하면 프레임 워크를 설치 한 후에 설치할 수 있습니다. :) – Programmer

관련 문제