3
예제 IIS Express 8.0에 따라 일부 필수 구성 요소가있는 WiX-Bootstrapper 번들을 만들었습니다. 가상 컴퓨터에서 IIS 설치가 잘됩니다. 다음 단계에서는 일부 IIS 기능을 활성화하려고합니다. 는 그래서 MSI 프로젝트의 Product.wxs에서 다음 줄을 시도 :WiX-Bundle을 설치 한 후 IIS 기능을 활성화하는 방법은 무엇입니까?
<Product>
[...]
<Property Id="INSTALLIISPROP"
Value="C:\Windows\System32\dism.exe"></Property>
<CustomAction Id="InstallIISCA"
Return="check"
Property="INSTALLIISPROP"
Execute="deferred"
HideTarget="yes"
Impersonate="yes"
ExeCommand="/Online /Enable-Feature /FeatureName:IIS-WebServerRole /FeatureName:IIS-WebServer /FeatureName:IIS-CommonHttpFeatures /FeatureName:IIS-StaticContent /FeatureName:IIS-DefaultDocument /FeatureName:IIS-RequestFiltering /FeatureName:IIS-IPSecurity [...]></CustomAction>
<InstallExecuteSequence>
<Custom Action="InstallIISCA"
Before="InstallFinalize">
<![CDATA[NOT Installed AND IISMAJORVERSION]]>
</Custom>
</InstallExecuteSequence>
</Product>
을하지만 이것은 아무것도하지 않습니다. IIS 기능이 활성화되어 있지 않습니다. 내가 뭘 잘못 했니?
IIS에서 설치를위한 마지막 WXS 파일에서 다음: 그것이 Bundle.wxs에서 참조
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\InetStp\Components"
Value="Install"
Variable="IisExpressX64"
Win64="yes"/>
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\InetStp\Components"
Value="Install"
Variable="IisExpressX86"/>
<PackageGroup Id="IisExpress_8_0">
<MsiPackage Id="IisExpress8_0_X64"
Cache="yes"
Compressed="yes"
Permanent="yes"
Vital="yes"
SuppressSignatureVerification="yes"
SourceFile=".\Prerequisites\iis\iisexpress_8_0_RTM_x64_de-DE.msi"
InstallCondition="NOT IisExpressX86 AND VersionNT64"/>
<MsiPackage Id="IisExpress8_0_X86"
Cache="yes"
Compressed="yes"
Permanent="yes"
Vital="yes"
SuppressSignatureVerification="yes"
SourceFile=".\Prerequisites\iis\iisexpress_8_0_RTM_x86_de-DE.msi"
InstallCondition="NOT IisExpressX86 AND NOT VersionNT64"/>
</PackageGroup>
</Fragment>
</Wix>
그리고 :
<PackageGroupRef Id='IisExpress_8_0'/>
당신이 관리자 모드에서 MSI를 실행하려고 했습니까? 효과가있을 수 있습니다. 내 제안은 부트 스트 래퍼에서 msi가 아닌 IIS 기능을 활성화하려고 시도한 것입니다. – LeoN
감사합니다 LeoN! 지금은 전제 조건 파일 (http://stackoverflow.com/questions/24439602/wix-burn-install-iis-if-not-yet-method.html 참조) 이후에 번들에서 참조되는 다른 파일로 시도하고 있습니다. 설치됨). –