I think most everything within the application is self-explanatory, so this help article focuses on the Settings.xml file that is required for the application to run properly.
The WinSIG application is controlled via XML settings; by default, this is the settings.xml file that ships with the application. An example of this file and all of its options is shown below.
Notes on the Settings.xml:
A few processes are filtered if you try to use them in the "runcmd" setting. If any of the following are included in a path, they are removed.
private static string[] InvalidProcesses = {"del", "cmd", "mmc", "windows\system32", "%systemroot%\system32", "msiexec", "..\system32", ".\system32"};
Log files gathered with the "file" setting must end with ".txt" or ".log" and the pathing must not contain "..\", ".\",".", or "..".
Example Settings.xml:
<?xml version="1.0" encoding="utf-8" ?>
<!--
This file controls the settings for the System Information Gather application. The purpose is to allow variations in information gathering without
needing to rebuild the application. The comments in the file should guide you. A few notes are provided here for clarification.
-->
<sysinfo_settings>
<!-- application settings -->
<!-- notes:
1. If you include a <tabX /> declaration, the enabled attribute must be set otherwise it will default to "false" (turns off the tab)
2. The title is not required; if it is not defined, the app will default to built in titles
3. If you do not include the <tabX /> declaration, the app will default to having that tab turned on
4. Any tab not enabled will skip evaluation
### the exception here is the error tab; if you disable this from view the errors will still be saved when saving an output file
-->
<appsettings>
<tab1 enabled="true" title="System Information" />
<tab2 enabled="true" title="Process Information" /> />
<tab3 enabled="true" title="Registry Information" />
<tab4 enabled="true" title="Log File Information" />
<tab5 enabled="true" title="Other Stuff" />
<errorTab enabled="true" title="My Errors" />
</appsettings>
<displayTab1 enabled="true">
<processor enabled="true" />
<network enabled="true" />
<memory enabled="true" />
<fixeddisk enabled="true" />
<osinfo enabled="true" />
<services enabled="true" />
<!-- Example WMI Usage
<wmi query="select * from win32_operatingsystem" values="name, version, primary, windowsdirectory, installdate" />
<wmi query="select * from win32_patch" values="caption, description, file, patchsize, productcode" />
-->
<!-- Example command usage
<runcmd bin="ipconfig" arguments="/all" />
-->
</displayTab1>
<displayTab2 enabled="true">
<getprocesslist enabled="true" />
</displayTab2>
<displayTab3 enabled="true">
<!--
Here, you can list out the registry keys you want to pull information from and the value you want to return. Specifying "all" as a value will return all values found.
Registry searching is recursive, so you'll want to be careful with this.
-->
<key node="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe" value="all" />
<key node="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent" value="all" />
<key node="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" value="all" />
</displayTab3>
<displayTab4 enabled="true">
<!-- You can specify a maximum size that you want to pull into the report. Setting this to 0 will pull the whole file. -->
<file filepath="C:\Windows\dtcinstall.log" maxsize="0" />
<file filepath="%systemroot%\WindowsUpdate.log" maxsize="0" />
</displayTab4>
<displayTab5 enabled="true">
<runcmd bin="ipconfig" arguments="/all" />
<enumfile path="%systemroot%" file="*.exe" />
<enumfile path="%systemroot%" file="*.dll" />
<enumfile path="%userprofile%\Documents\Starcraft II" file="variables.txt" />
</displayTab5>
</sysinfo_settings>