AppEnvironmentExtra in place of or in addition to the srvany-compatible\r
AppEnvironment.\r
\r
+Since version 2.22, NSSM can rotate existing output files when redirecting I/O.\r
+\r
+Since version 2.22, NSSM can set service display name, description, startup\r
+type and log on details.\r
+\r
\r
Usage\r
-----\r
running the service.\r
\r
\r
+File rotation\r
+-------------\r
+When using I/O redirection, NSSM can rotate existing output files prior to\r
+opening stdout and/or stderr. An existing file will be renamed with a\r
+suffix based on the file's last write time, to millisecond precision. For\r
+example, the file nssm.log might be rotated to nssm-20131221T113939.457.log.\r
+\r
+NSSM will look in the registry under\r
+HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters for REG_DWORD\r
+entries which control how rotation happens.\r
+\r
+If AppRotateFiles is missing or set to 0, rotation is disabled. Any non-zero\r
+value enables rotation.\r
+\r
+If AppRotateSeconds is non-zero, a file will not be rotated if its last write\r
+time is less than the given number of seconds in the past.\r
+\r
+If AppRotateBytes is non-zero, a file will not be rotated if it is smaller\r
+than the given number of bytes. 64-bit file sizes can be handled by setting\r
+a non-zero value of AppRotateBytesHigh.\r
+\r
+Rotation is independent of the CreateFile() parameters used to open the files.\r
+They will be rotated regardless of whether NSSM would otherwise have appended\r
+or replaced them.\r
+\r
+\r
Environment variables\r
---------------------\r
NSSM can replace or append to the managed application's environment. Two\r
\r
Building NSSM from source\r
-------------------------\r
-NSSM is known to compile with Visual Studio 6, Visual Studio 2005 and Visual\r
-Studio 2008.\r
+NSSM is known to compile with Visual Studio 2008. Older Visual Studio\r
+releases may or may not work.\r
\r
NSSM will also compile with Visual Studio 2010 but the resulting executable\r
-will not run on versions of Windows older than XP SP2.\r
+will not run on versions of Windows older than XP SP2. If you require\r
+compatiblity with older Windows releases you should change the Platform\r
+Toolset to v90 in the General section of the project's Configuration\r
+Properties.\r
\r
\r
Credits\r
Thanks to Russ Holmann for suggesting that the shutdown timeout be configurable.\r
Thanks to Paul Spause for spotting a bug with default registry entries.\r
Thanks to BUGHUNTER for spotting more GUI bugs.\r
+Thanks to Doug Watson for suggesting file rotation.\r
\r
Licence\r
-------\r