我有一个通过Wix MSI项目安装的Web应用程序。 web.config包括下面的身份验证节点。一切安装正确但安装后,我收到错误消息: “配置部分不能在此路径中使用”。这是由于applicationHost.config中的配置锁定所致。
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<basicAuthentication enabled="true" />
<windowsAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
如何在安装过程中覆盖applicationHost.config设置?我在安装过程中安装了所需的Windows功能,但我错过了一个吗?
答案 0 :(得分:0)
这是适用于我的解决方案,在InstallFinalize之前从自定义操作调用appcmd。
var childProcess = require('child_process');
var commitMessage = (function() {
var spawn = childProcess.spawnSync('git', ['log', '--format=%B', '-n', '1']);
var errorText = spawn.stderr.toString().trim();
if (errorText) {
console.log('Fatal error from `git log`. You must have one commit before deploying.');
throw new Error(errorText);
}
else {
return spawn.stdout.toString().trim();
}
})();
希望这有助于某人。
答案 1 :(得分:0)
目前,这是一种使用WiX IIS扩展WebDirProperties元素直接执行此操作的方法:
https://wixtoolset.org/documentation/manual/v3/xsd/iis/webdirproperties.html
类似的事情应该起作用。请注意,关键的是WebDirProperties
指定的元素
AnonymousAccess="yes" BasicAuthentication="no" WindowsAuthentication="no"
进行了修改
在安装过程中要更改的IIS属性。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension" >
<Fragment>
<!-- Install to default web site -->
<iis:WebSite Id="DefaultWebSite" Description='Default Web Site'>
<iis:WebAddress Id="AllUnassigned" Port="80" />
</iis:WebSite>
<!-- References the installation folder specified in the Product.wxs file under the INSTALLFOLDER -->
<DirectoryRef Id="WEB_INSTALLFOLDER">
<!-- Configure virtual dir -->
<Component Id="VirtualDirectoryComponent"
Guid="{INSERT-YOUR-OWN-GUID-2C27-427A-A7B1-DA4DBCC79117}"
KeyPath="yes" >
<iis:WebVirtualDir Id="VirtualDirectory"
Alias="[WEB_DIRECTORY_ALIAS]" Directory="WEB_INSTALLFOLDER"
WebSite="DefaultWebSite">
<iis:WebDirProperties Id="VirtualDirectoryProperties"
AnonymousAccess="yes" BasicAuthentication="no"
WindowsAuthentication="no" />
<iis:WebApplication
Id="MyWebApplication"
Name="MyWebApplication" />
</iis:WebVirtualDir>
</Component>
</DirectoryRef>
</Fragment>
</Wix>