Skip to content

Commit df4e6e5

Browse files
committed
fix #185: install appropriate iisnode configuration schema with iisnode-dev package
1 parent ec99665 commit df4e6e5

File tree

6 files changed

+195
-9
lines changed

6 files changed

+195
-9
lines changed

Diff for: src/config/iisnode_dev_x64.xml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<!--
2+
3+
This file describes the configuration schema for the iisnode IIS module.
4+
5+
To install this schema:
6+
7+
1. This file must be saved to %windir%\system32\inetsrv\config\schema.
8+
2. The following entry must be added to %windir%\system32\inetsrv\config\applicationhost.config:
9+
10+
<configSections>
11+
...
12+
<sectionGroup name="system.webServer">
13+
<section name="iisnode" overrideModeDefault="Allow"/>
14+
...
15+
</sectionGroup>
16+
</configSections>
17+
18+
Following installation, the iisnode module can be configured using the web.config file specific to the application:
19+
20+
<system.webServer>
21+
<iisnode ... />
22+
</system.webServer>
23+
24+
Details at http://learn.iis.net/page.aspx/241/configuration-extensibility/
25+
26+
-->
27+
28+
<configSchema>
29+
<sectionSchema name="system.webServer/iisnode">
30+
<attribute name="node_env" type="string" expanded="true" defaultValue="%node_env%"/>
31+
<attribute name="asyncCompletionThreadCount" type="uint" defaultValue="0"/>
32+
<attribute name="nodeProcessCountPerApplication" type="uint" defaultValue="1"/>
33+
<attribute name="nodeProcessCommandLine" type="string" expanded="true" defaultValue="&quot;%programfiles(x86)%\nodejs\node.exe&quot;"/>
34+
<attribute name="interceptor" type="string" expanded="true" defaultValue="&quot;%programfiles(x86)%\iisnode-dev\release\x64\interceptor.js&quot;" />
35+
<attribute name="maxConcurrentRequestsPerProcess" type="uint" allowInfitnite="true" defaultValue="1024"/>
36+
<attribute name="maxNamedPipeConnectionRetry" type="uint" defaultValue="100"/>
37+
<attribute name="namedPipeConnectionRetryDelay" type="uint" defaultValue="250"/>
38+
<attribute name="maxNamedPipeConnectionPoolSize" type="uint" defaultValue="512"/>
39+
<attribute name="maxNamedPipePooledConnectionAge" type="uint" defaultValue="30000"/>
40+
<attribute name="initialRequestBufferSize" type="uint" defaultValue="4096"/>
41+
<attribute name="maxRequestBufferSize" type="uint" defaultValue="65536"/>
42+
<attribute name="uncFileChangesPollingInterval" type="uint" defaultValue="5000"/>
43+
<attribute name="gracefulShutdownTimeout" type="uint" defaultValue="60000"/>
44+
<attribute name="logDirectory" type="string" expanded="true" defaultValue="iisnode"/>
45+
<attribute name="debuggingEnabled" type="bool" defaultValue="true"/>
46+
<attribute name="debuggerPathSegment" type="string" expanded="true" defaultValue="debug"/>
47+
<attribute name="debuggerPortRange" type="string" expanded="true" defaultValue="5058-6058"/>
48+
<attribute name="maxLogFileSizeInKB" type="uint" defaultValue="128"/>
49+
<attribute name="maxTotalLogFileSizeInKB" type="uint" defaultValue="1024"/>
50+
<attribute name="maxLogFiles" type="uint" defaultValue="20"/>
51+
<attribute name="loggingEnabled" type="bool" defaultValue="true"/>
52+
<attribute name="devErrorsEnabled" type="bool" defaultValue="true"/>
53+
<attribute name="flushResponse" type="bool" defaultValue="false"/>
54+
<attribute name="watchedFiles" type="string" expanded="true" defaultValue="*.js;iisnode.yml"/>
55+
<attribute name="enableXFF" type="bool" defaultValue="false"/>
56+
<attribute name="promoteServerVars" type="string" defaultValue=""/>
57+
<attribute name="configOverrides" type="string" expanded="true" defaultValue="iisnode.yml"/>
58+
</sectionSchema>
59+
</configSchema>

Diff for: src/config/iisnode_dev_x86_on_x64.xml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<!--
2+
3+
This file describes the configuration schema for the iisnode IIS module.
4+
5+
To install this schema:
6+
7+
1. This file must be saved to %windir%\system32\inetsrv\config\schema.
8+
2. The following entry must be added to %windir%\system32\inetsrv\config\applicationhost.config:
9+
10+
<configSections>
11+
...
12+
<sectionGroup name="system.webServer">
13+
<section name="iisnode" overrideModeDefault="Allow"/>
14+
...
15+
</sectionGroup>
16+
</configSections>
17+
18+
Following installation, the iisnode module can be configured using the web.config file specific to the application:
19+
20+
<system.webServer>
21+
<iisnode ... />
22+
</system.webServer>
23+
24+
Details at http://learn.iis.net/page.aspx/241/configuration-extensibility/
25+
26+
-->
27+
28+
<configSchema>
29+
<sectionSchema name="system.webServer/iisnode">
30+
<attribute name="node_env" type="string" expanded="true" defaultValue="%node_env%"/>
31+
<attribute name="asyncCompletionThreadCount" type="uint" defaultValue="0"/>
32+
<attribute name="nodeProcessCountPerApplication" type="uint" defaultValue="1"/>
33+
<attribute name="nodeProcessCommandLine" type="string" expanded="true" defaultValue="&quot;%programfiles(x86)%\nodejs\node.exe&quot;"/>
34+
<attribute name="interceptor" type="string" expanded="true" defaultValue="&quot;%programfiles(x86)%\iisnode-dev\release\x86\interceptor.js&quot;" />
35+
<attribute name="maxConcurrentRequestsPerProcess" type="uint" allowInfitnite="true" defaultValue="1024"/>
36+
<attribute name="maxNamedPipeConnectionRetry" type="uint" defaultValue="100"/>
37+
<attribute name="namedPipeConnectionRetryDelay" type="uint" defaultValue="250"/>
38+
<attribute name="maxNamedPipeConnectionPoolSize" type="uint" defaultValue="512"/>
39+
<attribute name="maxNamedPipePooledConnectionAge" type="uint" defaultValue="30000"/>
40+
<attribute name="initialRequestBufferSize" type="uint" defaultValue="4096"/>
41+
<attribute name="maxRequestBufferSize" type="uint" defaultValue="65536"/>
42+
<attribute name="uncFileChangesPollingInterval" type="uint" defaultValue="5000"/>
43+
<attribute name="gracefulShutdownTimeout" type="uint" defaultValue="60000"/>
44+
<attribute name="logDirectory" type="string" expanded="true" defaultValue="iisnode"/>
45+
<attribute name="debuggingEnabled" type="bool" defaultValue="true"/>
46+
<attribute name="debuggerPathSegment" type="string" expanded="true" defaultValue="debug"/>
47+
<attribute name="debuggerPortRange" type="string" expanded="true" defaultValue="5058-6058"/>
48+
<attribute name="maxLogFileSizeInKB" type="uint" defaultValue="128"/>
49+
<attribute name="maxTotalLogFileSizeInKB" type="uint" defaultValue="1024"/>
50+
<attribute name="maxLogFiles" type="uint" defaultValue="20"/>
51+
<attribute name="loggingEnabled" type="bool" defaultValue="true"/>
52+
<attribute name="devErrorsEnabled" type="bool" defaultValue="true"/>
53+
<attribute name="flushResponse" type="bool" defaultValue="false"/>
54+
<attribute name="watchedFiles" type="string" expanded="true" defaultValue="*.js;iisnode.yml"/>
55+
<attribute name="enableXFF" type="bool" defaultValue="false"/>
56+
<attribute name="promoteServerVars" type="string" defaultValue=""/>
57+
<attribute name="configOverrides" type="string" expanded="true" defaultValue="iisnode.yml"/>
58+
</sectionSchema>
59+
</configSchema>

Diff for: src/config/iisnode_dev_x86_on_x86.xml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<!--
2+
3+
This file describes the configuration schema for the iisnode IIS module.
4+
5+
To install this schema:
6+
7+
1. This file must be saved to %windir%\system32\inetsrv\config\schema.
8+
2. The following entry must be added to %windir%\system32\inetsrv\config\applicationhost.config:
9+
10+
<configSections>
11+
...
12+
<sectionGroup name="system.webServer">
13+
<section name="iisnode" overrideModeDefault="Allow"/>
14+
...
15+
</sectionGroup>
16+
</configSections>
17+
18+
Following installation, the iisnode module can be configured using the web.config file specific to the application:
19+
20+
<system.webServer>
21+
<iisnode ... />
22+
</system.webServer>
23+
24+
Details at http://learn.iis.net/page.aspx/241/configuration-extensibility/
25+
26+
-->
27+
28+
<configSchema>
29+
<sectionSchema name="system.webServer/iisnode">
30+
<attribute name="node_env" type="string" expanded="true" defaultValue="%node_env%"/>
31+
<attribute name="asyncCompletionThreadCount" type="uint" defaultValue="0"/>
32+
<attribute name="nodeProcessCountPerApplication" type="uint" defaultValue="1"/>
33+
<attribute name="nodeProcessCommandLine" type="string" expanded="true" defaultValue="&quot;%programfiles%\nodejs\node.exe&quot;"/>
34+
<attribute name="interceptor" type="string" expanded="true" defaultValue="&quot;%programfiles%\iisnode-dev\release\x86\interceptor.js&quot;" />
35+
<attribute name="maxConcurrentRequestsPerProcess" type="uint" allowInfitnite="true" defaultValue="1024"/>
36+
<attribute name="maxNamedPipeConnectionRetry" type="uint" defaultValue="100"/>
37+
<attribute name="namedPipeConnectionRetryDelay" type="uint" defaultValue="250"/>
38+
<attribute name="maxNamedPipeConnectionPoolSize" type="uint" defaultValue="512"/>
39+
<attribute name="maxNamedPipePooledConnectionAge" type="uint" defaultValue="30000"/>
40+
<attribute name="initialRequestBufferSize" type="uint" defaultValue="4096"/>
41+
<attribute name="maxRequestBufferSize" type="uint" defaultValue="65536"/>
42+
<attribute name="uncFileChangesPollingInterval" type="uint" defaultValue="5000"/>
43+
<attribute name="gracefulShutdownTimeout" type="uint" defaultValue="60000"/>
44+
<attribute name="logDirectory" type="string" expanded="true" defaultValue="iisnode"/>
45+
<attribute name="debuggingEnabled" type="bool" defaultValue="true"/>
46+
<attribute name="debuggerPathSegment" type="string" expanded="true" defaultValue="debug"/>
47+
<attribute name="debuggerPortRange" type="string" expanded="true" defaultValue="5058-6058"/>
48+
<attribute name="maxLogFileSizeInKB" type="uint" defaultValue="128"/>
49+
<attribute name="maxTotalLogFileSizeInKB" type="uint" defaultValue="1024"/>
50+
<attribute name="maxLogFiles" type="uint" defaultValue="20"/>
51+
<attribute name="loggingEnabled" type="bool" defaultValue="true"/>
52+
<attribute name="devErrorsEnabled" type="bool" defaultValue="true"/>
53+
<attribute name="flushResponse" type="bool" defaultValue="false"/>
54+
<attribute name="watchedFiles" type="string" expanded="true" defaultValue="*.js;iisnode.yml"/>
55+
<attribute name="enableXFF" type="bool" defaultValue="false"/>
56+
<attribute name="promoteServerVars" type="string" defaultValue=""/>
57+
<attribute name="configOverrides" type="string" expanded="true" defaultValue="iisnode.yml"/>
58+
</sectionSchema>
59+
</configSchema>

Diff for: src/iisnode/iisnode.vcxproj

+6-1
Original file line numberDiff line numberDiff line change
@@ -335,9 +335,14 @@ copy /y $(ProjectDir)\..\config\* $(ProjectDir)\..\..\build\$(Configuration)\$(P
335335
<None Include="..\..\test\performance\www\default\server.js" />
336336
<None Include="..\..\test\performance\www\default\wcat.ubr" />
337337
<None Include="..\..\test\performance\www\default\web.config" />
338+
<None Include="..\config\iisnode_dev_x64.xml" />
339+
<None Include="..\config\iisnode_dev_x86_on_x64.xml" />
340+
<None Include="..\config\iisnode_dev_x86_on_x86.xml" />
338341
<None Include="..\config\iisnode_express_schema.xml" />
339342
<None Include="..\config\iisnode_express_schema_x64.xml" />
340-
<None Include="..\config\iisnode_schema.xml" />
343+
<None Include="..\config\iisnode_schema.xml">
344+
<SubType>Designer</SubType>
345+
</None>
341346
<None Include="..\config\iisnode_schema_x64.xml">
342347
<SubType>Designer</SubType>
343348
</None>

Diff for: src/iisnode/iisnode.vcxproj.filters

+9
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,15 @@
663663
<None Include="..\config\iisnode_express_schema_x64.xml">
664664
<Filter>Config</Filter>
665665
</None>
666+
<None Include="..\config\iisnode_dev_x64.xml">
667+
<Filter>Config</Filter>
668+
</None>
669+
<None Include="..\config\iisnode_dev_x86_on_x64.xml">
670+
<Filter>Config</Filter>
671+
</None>
672+
<None Include="..\config\iisnode_dev_x86_on_x86.xml">
673+
<Filter>Config</Filter>
674+
</None>
666675
</ItemGroup>
667676
<ItemGroup>
668677
<ResourceCompile Include="iisnode.rc" />

Diff for: src/setup/iisnode-dev-msi/iisnodefiles.wxi

+3-8
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,12 @@
77
<Component Id="cmp_debug_x86" Guid="100AD501-3EBD-43AA-A6ED-12E55660B0CE">
88
<File Id="file_debug_x86_iisnode_dll" KeyPath="no" Source="$(var.sourcedir)\debug\x86\iisnode.dll" />
99
<File Id="file_debug_x86_iisnode_pdb" KeyPath="no" Source="$(var.sourcedir)\debug\x86\iisnode.pdb" />
10-
<File Id="file_debug_x86_interceptor_js" KeyPath="no" Source="$(var.sourcedir)\debug\x86\interceptor.js" />
11-
<File Id="file_debug_x86_iisnode_schema_xml" KeyPath="no" Source="$(var.sourcedir)\debug\x86\iisnode_schema.xml" />
1210
</Component>
1311
</Directory>
1412
<Directory Id="dir_debug_x64" Name="x64">
1513
<Component Id="cmp_debug_x64" Guid="101AD501-3EBD-43AA-A6ED-12E55660B0CE">
1614
<File Id="file_debug_x64_iisnode_dll" KeyPath="no" Source="$(var.sourcedir)\debug\amd64\iisnode.dll" />
1715
<File Id="file_debug_x64_iisnode_pdb" KeyPath="no" Source="$(var.sourcedir)\debug\amd64\iisnode.pdb" />
18-
<File Id="file_debug_x64_interceptor_js" KeyPath="no" Source="$(var.sourcedir)\debug\amd64\interceptor.js" />
19-
<File Id="file_debug_x64_iisnode_schema_x64_xml" KeyPath="no" Source="$(var.sourcedir)\debug\amd64\iisnode_schema_x64.xml"/>
20-
<File Id="file_debug_x64_iisnode_schema_x64_wow_xml" KeyPath="no" Source="$(var.sourcedir)\debug\amd64\iisnode_schema_x64_wow.xml"/>
2116
</Component>
2217
</Directory>
2318
</Directory>
@@ -27,16 +22,16 @@
2722
<File Id="file_release_x86_iisnode_dll" KeyPath="no" Source="$(var.sourcedir)\release\x86\iisnode.dll" />
2823
<File Id="file_release_x86_iisnode_pdb" KeyPath="no" Source="$(var.sourcedir)\release\x86\iisnode.pdb" />
2924
<File Id="file_release_x86_interceptor_js" KeyPath="no" Source="$(var.sourcedir)\release\x86\interceptor.js" />
30-
<File Id="file_release_x86_iisnode_schema_xml" KeyPath="no" Source="$(var.sourcedir)\release\x86\iisnode_schema.xml" />
25+
<File Id="file_release_x86_x86_iisnode_schema_xml" KeyPath="no" Source="$(var.sourcedir)\release\x86\iisnode_dev_x86_on_x86.xml" Name="iisnode_schema_x86.xml"/>
26+
<File Id="file_release_x86_x64_iisnode_schema_xml" KeyPath="no" Source="$(var.sourcedir)\release\x86\iisnode_dev_x86_on_x64.xml" Name="iisnode_schema_x64.xml"/>
3127
</Component>
3228
</Directory>
3329
<Directory Id="dir_release_x64" Name="x64">
3430
<Component Id="cmp_release_x64" Guid="103AD501-3EBD-43AA-A6ED-12E55660B0CE">
3531
<File Id="file_release_x64_iisnode_dll" KeyPath="no" Source="$(var.sourcedir)\release\amd64\iisnode.dll" />
3632
<File Id="file_release_x64_iisnode_pdb" KeyPath="no" Source="$(var.sourcedir)\release\amd64\iisnode.pdb" />
3733
<File Id="file_release_x64_interceptor_js" KeyPath="no" Source="$(var.sourcedir)\release\amd64\interceptor.js" />
38-
<File Id="file_release_x64_iisnode_schema_x64_xml" KeyPath="no" Source="$(var.sourcedir)\release\amd64\iisnode_schema_x64.xml"/>
39-
<File Id="file_release_x64_iisnode_schema_x64_wow_xml" KeyPath="no" Source="$(var.sourcedir)\release\amd64\iisnode_schema_x64_wow.xml"/>
34+
<File Id="file_release_x64_iisnode_schema_x64_xml" KeyPath="no" Source="$(var.sourcedir)\release\amd64\iisnode_dev_x64.xml" Name="iisnode_schema.xml"/>
4035
</Component>
4136
</Directory>
4237
</Directory>

0 commit comments

Comments
 (0)