Wix 3.5 を使用して構築された MSI インストーラーがあり、これを使用してインストール中に web.config xml ファイルを編集しようとしています:
<Component Id="EditWebConfigToUseCertificate" Guid="xxx">
<util:XmlConfig Id="configureX509Value"
File="[WebServiceFolder]web.config"
ElementPath="configuration/system.serviceModel/behaviors/serviceBehaviors/behavior[\[]1[\]]/serviceCredentials/serviceCertificate"
Name="x509FindType"
Value="FindBySubjectName"
Sequence="1" />
</Component>
ファイルの属性を変更することはできません。MSI は正常にインストールされますが、web.config は変更されません。ファイル パス (ハードコーディング) を確認しましたが、XPath も正しいです。ファイルを変更していないのはなぜですか?インストール ログにエラーは表示されません。
これは私のweb.configです:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E31" />
</assemblies>
</compilation>
<!-- do not use asp.net authentication -->
<authentication mode="None" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<clear />
<behavior name="AuthenticationServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<!-- service credentials -->
<serviceCredentials>
<serviceCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySerialNumber" findValue="00 91 d9 2e 07 82 d8 99 c0" />
</serviceCredentials>
</behavior>
<behavior>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<!-- service credentials -->
<serviceCredentials>
<serviceCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySerialNumber" findValue="00 91 d9 2e 07 82 d8 99 c0" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
</configuration>