Windows 서비스 (MSI)와 EXE를 설치하는 WIX 부트 스트 래퍼 응용 프로그램이 있습니다. 나는 .NET 4.0 프레임 워크가 Windows 서비스 설치 프로그램의 전제 조건으로 존재하는지 확인하려고 노력해 왔습니다. 프레임 워크가 없으면 설치 프로그램을 중단하고 다운로드 할 수있는 위치를 지정합니다. 현재 서비스 설치 프로그램은 조건을 무시하고 프레임 워크가 있는지 여부에 관계없이 서비스를 설치하려고합니다.WIX 부트 스트 래퍼에서 .NET 4.0 프레임 워크를 확인하는 중 문제가 발생했습니다.
이 조각은 Windows 서비스 설치에 있습니다
<Product Id="*" Name="TestService" Language="1033" Version="1.0.0.1" Manufacturer="xxxxxx" UpgradeCode="<xxxxxxxx">
<PropertyRef Id="NETFRAMEWORK40FULL" />
<Condition Message="You need to have the .NET 4.0 Framework installed">
<![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>
</Product>
이 조각은 부트 스트 래퍼에서이다 : 도움을
<Bundle Name="BundledInstall" Version="1.0.0.0"
UpgradeCode="xxxxxx">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile="xxxxxxxx"
LogoFile="xxxxxxxx"
/>
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="MyPackage" />
<PackageGroupRef Id="ServicePackage" />
</Chain>
</Bundle>
<Fragment>
<PackageGroup Id="ServicePackage">
<MsiPackage
SourceFile="C:\Users\Max\dev\wix\pappBootstrapper\sebService.msi" Cache="no" ForcePerMachine="yes">
</MsiPackage>
</PackageGroup>
</Fragment>
감사합니다. 3.5 프레임 워크 또는 3.5 SP 당신이 아래의 속성을 사용할 수있다 설치되어 있는지 여부를 확인하기 위해 예를 들어 WIXNETFXEXTENSION
:
,이 솔루션은 제품에 대한 작동이 아닌 번들 (부트 스트 래퍼, 당신은 번들 – Cocowalla
오기 '에 PropertyRef를 사용할 수 없기 때문에이 보인다 Cocowalla가 말한 것은 사실입니다. @MattLock은 성공 했습니까? WIX_IS_NETFRAMEWORK_40_OR_LATER_INSTALLED를 사용하려고했으나 조건으로 사용되었지만 무엇이든지간에 항상 false를 반환합니다. – LeoPucciBr