Changeset 41ca52e in nscp


Ignore:
Timestamp:
12/26/10 15:47:48 (2 years ago)
Author:
Michael Medin <michael@…>
Branches:
stable
Children:
cefdcc8
Parents:
1d6bb09
Message:
 
Files:
15 added
28 edited

Legend:

Unmodified
Added
Removed
  • AutoBuild.h

    r1d6bb09 r41ca52e  
    33// change the FALSE to TRUE for autoincrement of build number 
    44#define INCREMENT_VERSION TRUE 
    5 #define FILEVER        0,3,9,148 
    6 #define PRODUCTVER     0,3,9,148 
    7 #define STRFILEVER     _T("0.3.9.148") 
    8 #define STRPRODUCTVER  _T("0.3.9.148") 
    9 #define STRPRODUCTDATE  _T("2010-11-14") 
     5#define FILEVER        0,3,9,222 
     6#define PRODUCTVER     0,3,9,222 
     7#define STRFILEVER     _T("0.3.9.222") 
     8#define STRPRODUCTVER  _T("0.3.9.222") 
     9#define STRPRODUCTDATE  _T("2010-12-26") 
    1010#endif // AUTOBUILD_H 
  • Jamroot

    r1d6bb09 r41ca52e  
    2121  import bjam/openssl ; 
    2222  import bjam/boost ; 
     23  import bjam/breakpad ; 
    2324  import bjam/cryptopp ; 
    2425  import bjam/psdk ; 
     
    5556  using bjam/openssl : : $(TOP)/lib-source/openssl-0.9.8g/include $(TOP)/lib ; 
    5657  using bjam/boost : : $(TOP)/lib-source/boost_1_35_0 $(TOP)/lib ; 
     58  using bjam/breakpad : : $(TOP)/lib-source/breakpad $(TOP)/lib ; 
    5759  using bjam/lua : : $(TOP)/lib-source/lua-5.1.2 ; 
    5860  using bjam/cryptopp : : $(TOP)/lib-source/"Crypto++"/src ; 
     
    7880  } else { 
    7981    echo "boost not avaliable! some features DISABLED (for instance regular expressions) (enable with --with-boost)" ;  
     82  } 
     83 
     84  if [ bjam/breakpad.isEnabled ] = true { 
     85    echo "breakpad found (disable with --without-breakpad)" ;  
     86    bjam/breakpad.printEnv ; 
     87  } else { 
     88    echo "breakpad not avaliable! some features DISABLED (for instance regular expressions) (enable with --with-breakpad)" ;  
    8089  } 
    8190 
     
    132141  include/Socket.cpp 
    133142  include/b64/b64.c 
     143   
     144  include/breakpad/breakpad_config.cpp 
     145# include/breakpad/crash_sender_win32.cpp 
     146  include/breakpad/exception_handler_win32.cpp 
     147   
     148  /breakpad//exception_handler 
     149  /breakpad//crash_generation_client 
     150  /breakpad//common 
    134151 
    135152  : # requirements 
     
    140157  <find-static-library>ole32 
    141158  <variant>release:<dependency>update_version  
     159 
    142160  : # default build 
    143161 
     
    277295explicit all-script-libs-targets ; 
    278296 
    279 alias all-root-targets : $(target) $(target-config) $(target-readme) $(target-guide) $(target-refman) $(target-license) $(target-changelog) $(target-counters) helpers/systray_helper ; 
     297alias all-root-targets : $(target) $(target-config) $(target-readme) $(target-guide) $(target-refman) $(target-license) $(target-changelog) $(target-counters) helpers/systray_helper helpers/error_reporter ; 
    280298explicit all-root-targets ; 
    281299 
     
    346364 
    347365alias build-binaries : dist dist-modules dist-helpers dist-scripts dist-script-libs ; 
    348 #alias build-binaries : dist-helpers ; 
     366#alias build-binaries : dist ; 
    349367explicit build-binaries ; 
    350368 
  • NSC.dist

    r9661f81 r41ca52e  
    3434;CheckTaskSched.dll 
    3535 
    36  
     36[crash] 
     37; Archive crash dump files if a crash is detected 
     38;archive=1 
     39 
     40; Submit crash reports to a crash report server (this overrrides archive) 
     41;submit=0 
     42 
     43; Restart service if a crash is detected 
     44;restart=1 
    3745 
    3846[Settings] 
  • NSClient++-2005.sln

    re7df8e7 r41ca52e  
    66    Release.AspNetCompiler.Debug = "False" 
    77  EndProjectSection 
     8EndProject 
     9Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SysTray", "modules\SysTray\SysTray-2005.vcproj", "{BBFF8362-C626-4838-B0A2-F695D638AD24}" 
     10  ProjectSection(WebsiteProperties) = preProject 
     11    Debug.AspNetCompiler.Debug = "True" 
     12    Release.AspNetCompiler.Debug = "False" 
     13  EndProjectSection 
     14EndProject 
     15Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileLogger", "modules\FileLogger\FileLogger-2005.vcproj", "{62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}" 
     16  ProjectSection(WebsiteProperties) = preProject 
     17    Debug.AspNetCompiler.Debug = "True" 
     18    Release.AspNetCompiler.Debug = "False" 
     19  EndProjectSection 
     20EndProject 
     21Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckEventLog", "modules\CheckEventLog\CheckEventLog-2005.vcproj", "{BA246C01-063A-4548-8957-32D5CC76171B}" 
     22  ProjectSection(WebsiteProperties) = preProject 
     23    Debug.AspNetCompiler.Debug = "True" 
     24    Release.AspNetCompiler.Debug = "False" 
     25  EndProjectSection 
     26EndProject 
     27Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckDisk", "modules\CheckDisk\CheckDisk-2005.vcproj", "{E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}" 
     28  ProjectSection(WebsiteProperties) = preProject 
     29    Debug.AspNetCompiler.Debug = "True" 
     30    Release.AspNetCompiler.Debug = "False" 
     31  EndProjectSection 
     32EndProject 
     33Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NRPEListener", "modules\NRPEListener\NRPEListener-2005.vcproj", "{2FF60AF6-09AA-49AB-B414-2E8FD01655C6}" 
     34  ProjectSection(WebsiteProperties) = preProject 
     35    Debug.AspNetCompiler.Debug = "True" 
     36    Release.AspNetCompiler.Debug = "False" 
     37  EndProjectSection 
     38EndProject 
     39Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NSClientListener", "modules\NSClientListener\NSClientListener-2005.vcproj", "{08D6246D-1B4A-47A3-965D-296DCC54A4E8}" 
     40  ProjectSection(WebsiteProperties) = preProject 
     41    Debug.AspNetCompiler.Debug = "True" 
     42    Release.AspNetCompiler.Debug = "False" 
     43  EndProjectSection 
     44EndProject 
     45Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckSystem", "modules\CheckSystem\CheckSystem-2005.vcproj", "{2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}" 
     46  ProjectSection(WebsiteProperties) = preProject 
     47    Debug.AspNetCompiler.Debug = "True" 
     48    Release.AspNetCompiler.Debug = "False" 
     49  EndProjectSection 
     50EndProject 
     51Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckHelpers", "modules\CheckHelpers\CheckHelpers-2005.vcproj", "{8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}" 
     52  ProjectSection(WebsiteProperties) = preProject 
     53    Debug.AspNetCompiler.Debug = "True" 
     54    Release.AspNetCompiler.Debug = "False" 
     55  EndProjectSection 
     56EndProject 
     57Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckWMI", "modules\CheckWMI\CheckWMI-2005.vcproj", "{05DE66AC-E55C-43B3-849F-7EC695D8B8D0}" 
     58  ProjectSection(WebsiteProperties) = preProject 
     59    Debug.AspNetCompiler.Debug = "True" 
     60    Release.AspNetCompiler.Debug = "False" 
     61  EndProjectSection 
     62EndProject 
     63Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RemoteConfiguration", "modules\RemoteConfiguration\RemoteConfiguration-2005.vcproj", "{626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}" 
     64  ProjectSection(WebsiteProperties) = preProject 
     65    Debug.AspNetCompiler.Debug = "True" 
     66    Release.AspNetCompiler.Debug = "False" 
     67  EndProjectSection 
     68EndProject 
     69Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XAutobuild-2005", "helpers\XAutoBuild\XAutobuild-2005.csproj", "{0E2B21D9-F432-4127-8E92-7716B1072510}" 
     70  ProjectSection(WebsiteProperties) = preProject 
     71    Debug.AspNetCompiler.Debug = "True" 
     72    Release.AspNetCompiler.Debug = "False" 
     73  EndProjectSection 
     74EndProject 
     75Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NSCAAgent", "modules\NSCAAgent\NSCAAgent-2005.vcproj", "{6F55C9BF-57F6-4A15-A058-C83A52F539EE}" 
     76  ProjectSection(WebsiteProperties) = preProject 
     77    Debug.AspNetCompiler.Debug = "True" 
     78    Release.AspNetCompiler.Debug = "False" 
     79  EndProjectSection 
     80EndProject 
     81Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LUAScript", "modules\LUAScript\LUAScript-2005.vcproj", "{26B84883-BE52-40E6-9BEE-55AD056D5751}" 
     82  ProjectSection(WebsiteProperties) = preProject 
     83    Debug.AspNetCompiler.Debug = "True" 
     84    Release.AspNetCompiler.Debug = "False" 
     85  EndProjectSection 
     86EndProject 
     87Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckExternalScripts", "modules\CheckExternalScripts\CheckExternalScripts-2005.vcproj", "{0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}" 
     88  ProjectSection(WebsiteProperties) = preProject 
     89    Debug.AspNetCompiler.Debug = "True" 
     90    Release.AspNetCompiler.Debug = "False" 
     91  EndProjectSection 
     92EndProject 
     93Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NRPEClient", "modules\NRPEClient\NRPEClient-2005.vcproj", "{4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}" 
     94  ProjectSection(WebsiteProperties) = preProject 
     95    Debug.AspNetCompiler.Debug = "True" 
     96    Release.AspNetCompiler.Debug = "False" 
     97  EndProjectSection 
     98EndProject 
     99Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{9757464B-C125-4307-A84A-F4181AE6A081}" 
     100  ProjectSection(WebsiteProperties) = preProject 
     101    Debug.AspNetCompiler.Debug = "True" 
     102    Release.AspNetCompiler.Debug = "False" 
     103  EndProjectSection 
     104EndProject 
     105Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "helpers", "helpers", "{9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2}" 
     106  ProjectSection(WebsiteProperties) = preProject 
     107    Debug.AspNetCompiler.Debug = "True" 
     108    Release.AspNetCompiler.Debug = "False" 
     109  EndProjectSection 
     110EndProject 
     111Project("{A49CE20D-CE64-4A08-9F24-92A6443D6699}") = "installer", "helpers\installer\installer.wixproj", "{A3CF4E23-1D1B-4D93-A16A-48C52D118560}" 
     112  ProjectSection(WebsiteProperties) = preProject 
     113    Debug.AspNetCompiler.Debug = "True" 
     114    Release.AspNetCompiler.Debug = "False" 
     115  EndProjectSection 
    8116  ProjectSection(ProjectDependencies) = postProject 
     117    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66} = {743B2362-DF6A-4C28-A6C9-0F970D8E1B66} 
    9118    {BA246C01-063A-4548-8957-32D5CC76171B} = {BA246C01-063A-4548-8957-32D5CC76171B} 
     119    {2286162D-7571-4735-BAC8-4A8D33A4F42D} = {2286162D-7571-4735-BAC8-4A8D33A4F42D} 
     120    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} = {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} 
    10121    {43718644-173B-42D8-8AD1-E359BFB2BB20} = {43718644-173B-42D8-8AD1-E359BFB2BB20} 
     122    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} = {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} 
     123    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} = {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} 
     124    {BBFF8362-C626-4838-B0A2-F695D638AD24} = {BBFF8362-C626-4838-B0A2-F695D638AD24} 
     125    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} = {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} 
     126    {08D6246D-1B4A-47A3-965D-296DCC54A4E8} = {08D6246D-1B4A-47A3-965D-296DCC54A4E8} 
     127    {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {F3401E75-60FB-4A0E-A18C-6505587D5B1A} 
     128    {26B84883-BE52-40E6-9BEE-55AD056D5751} = {26B84883-BE52-40E6-9BEE-55AD056D5751} 
     129    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} = {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} 
     130    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} = {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} 
     131    {6F55C9BF-57F6-4A15-A058-C83A52F539EE} = {6F55C9BF-57F6-4A15-A058-C83A52F539EE} 
     132    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} = {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} 
     133    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} = {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} 
    11134    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} = {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} 
    12     {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} = {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} 
    13     {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} = {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} 
    14     {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} = {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} 
    15     {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} = {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} 
    16     {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {F3401E75-60FB-4A0E-A18C-6505587D5B1A} 
    17     {53FB9872-5E74-4E62-892D-AD82C2ED67CE} = {53FB9872-5E74-4E62-892D-AD82C2ED67CE} 
    18     {08D6246D-1B4A-47A3-965D-296DCC54A4E8} = {08D6246D-1B4A-47A3-965D-296DCC54A4E8} 
    19     {BBFF8362-C626-4838-B0A2-F695D638AD24} = {BBFF8362-C626-4838-B0A2-F695D638AD24} 
    20     {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} = {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} 
    21     {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} = {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} 
    22     {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} = {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} 
    23     {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} = {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} 
    24   EndProjectSection 
    25 EndProject 
    26 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SysTray", "modules\SysTray\SysTray-2005.vcproj", "{BBFF8362-C626-4838-B0A2-F695D638AD24}" 
    27   ProjectSection(WebsiteProperties) = preProject 
    28     Debug.AspNetCompiler.Debug = "True" 
    29     Release.AspNetCompiler.Debug = "False" 
    30   EndProjectSection 
    31 EndProject 
    32 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileLogger", "modules\FileLogger\FileLogger-2005.vcproj", "{62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}" 
    33   ProjectSection(WebsiteProperties) = preProject 
    34     Debug.AspNetCompiler.Debug = "True" 
    35     Release.AspNetCompiler.Debug = "False" 
    36   EndProjectSection 
    37 EndProject 
    38 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckEventLog", "modules\CheckEventLog\CheckEventLog-2005.vcproj", "{BA246C01-063A-4548-8957-32D5CC76171B}" 
    39   ProjectSection(WebsiteProperties) = preProject 
    40     Debug.AspNetCompiler.Debug = "True" 
    41     Release.AspNetCompiler.Debug = "False" 
    42   EndProjectSection 
    43 EndProject 
    44 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckDisk", "modules\CheckDisk\CheckDisk-2005.vcproj", "{E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}" 
    45   ProjectSection(WebsiteProperties) = preProject 
    46     Debug.AspNetCompiler.Debug = "True" 
    47     Release.AspNetCompiler.Debug = "False" 
    48   EndProjectSection 
    49 EndProject 
    50 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NRPEListener", "modules\NRPEListener\NRPEListener-2005.vcproj", "{2FF60AF6-09AA-49AB-B414-2E8FD01655C6}" 
    51   ProjectSection(WebsiteProperties) = preProject 
    52     Debug.AspNetCompiler.Debug = "True" 
    53     Release.AspNetCompiler.Debug = "False" 
    54   EndProjectSection 
    55 EndProject 
    56 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NSClientListener", "modules\NSClientListener\NSClientListener-2005.vcproj", "{08D6246D-1B4A-47A3-965D-296DCC54A4E8}" 
    57   ProjectSection(WebsiteProperties) = preProject 
    58     Debug.AspNetCompiler.Debug = "True" 
    59     Release.AspNetCompiler.Debug = "False" 
    60   EndProjectSection 
    61 EndProject 
    62 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckSystem", "modules\CheckSystem\CheckSystem-2005.vcproj", "{2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}" 
    63   ProjectSection(WebsiteProperties) = preProject 
    64     Debug.AspNetCompiler.Debug = "True" 
    65     Release.AspNetCompiler.Debug = "False" 
    66   EndProjectSection 
    67 EndProject 
    68 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckHelpers", "modules\CheckHelpers\CheckHelpers-2005.vcproj", "{8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}" 
    69   ProjectSection(WebsiteProperties) = preProject 
    70     Debug.AspNetCompiler.Debug = "True" 
    71     Release.AspNetCompiler.Debug = "False" 
    72   EndProjectSection 
    73 EndProject 
    74 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckWMI", "modules\CheckWMI\CheckWMI-2005.vcproj", "{05DE66AC-E55C-43B3-849F-7EC695D8B8D0}" 
    75   ProjectSection(WebsiteProperties) = preProject 
    76     Debug.AspNetCompiler.Debug = "True" 
    77     Release.AspNetCompiler.Debug = "False" 
    78   EndProjectSection 
    79 EndProject 
    80 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RemoteConfiguration", "modules\RemoteConfiguration\RemoteConfiguration-2005.vcproj", "{626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}" 
    81   ProjectSection(WebsiteProperties) = preProject 
    82     Debug.AspNetCompiler.Debug = "True" 
    83     Release.AspNetCompiler.Debug = "False" 
    84   EndProjectSection 
    85 EndProject 
    86 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XAutobuild-2005", "helpers\XAutoBuild\XAutobuild-2005.csproj", "{0E2B21D9-F432-4127-8E92-7716B1072510}" 
    87   ProjectSection(WebsiteProperties) = preProject 
    88     Debug.AspNetCompiler.Debug = "True" 
    89     Release.AspNetCompiler.Debug = "False" 
    90   EndProjectSection 
    91 EndProject 
    92 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NSCAAgent", "modules\NSCAAgent\NSCAAgent-2005.vcproj", "{6F55C9BF-57F6-4A15-A058-C83A52F539EE}" 
    93   ProjectSection(WebsiteProperties) = preProject 
    94     Debug.AspNetCompiler.Debug = "True" 
    95     Release.AspNetCompiler.Debug = "False" 
    96   EndProjectSection 
    97 EndProject 
    98 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LUAScript", "modules\LUAScript\LUAScript-2005.vcproj", "{26B84883-BE52-40E6-9BEE-55AD056D5751}" 
    99   ProjectSection(WebsiteProperties) = preProject 
    100     Debug.AspNetCompiler.Debug = "True" 
    101     Release.AspNetCompiler.Debug = "False" 
    102   EndProjectSection 
    103 EndProject 
    104 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckExternalScripts", "modules\CheckExternalScripts\CheckExternalScripts-2005.vcproj", "{0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}" 
    105   ProjectSection(WebsiteProperties) = preProject 
    106     Debug.AspNetCompiler.Debug = "True" 
    107     Release.AspNetCompiler.Debug = "False" 
    108   EndProjectSection 
    109 EndProject 
    110 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NRPEClient", "modules\NRPEClient\NRPEClient-2005.vcproj", "{4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}" 
    111   ProjectSection(WebsiteProperties) = preProject 
    112     Debug.AspNetCompiler.Debug = "True" 
    113     Release.AspNetCompiler.Debug = "False" 
    114   EndProjectSection 
    115 EndProject 
    116 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{9757464B-C125-4307-A84A-F4181AE6A081}" 
    117   ProjectSection(WebsiteProperties) = preProject 
    118     Debug.AspNetCompiler.Debug = "True" 
    119     Release.AspNetCompiler.Debug = "False" 
    120   EndProjectSection 
    121 EndProject 
    122 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "helpers", "helpers", "{9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2}" 
    123   ProjectSection(WebsiteProperties) = preProject 
    124     Debug.AspNetCompiler.Debug = "True" 
    125     Release.AspNetCompiler.Debug = "False" 
    126   EndProjectSection 
    127 EndProject 
    128 Project("{A49CE20D-CE64-4A08-9F24-92A6443D6699}") = "installer", "helpers\installer\installer.wixproj", "{A3CF4E23-1D1B-4D93-A16A-48C52D118560}" 
     135  EndProjectSection 
     136EndProject 
     137Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UploadInstaller", "helpers\UploadInstaller\UploadInstaller.vcproj", "{6206F046-3D36-4258-BB03-3291A7070117}" 
     138  ProjectSection(WebsiteProperties) = preProject 
     139    Debug.AspNetCompiler.Debug = "True" 
     140    Release.AspNetCompiler.Debug = "False" 
     141  EndProjectSection 
     142  ProjectSection(ProjectDependencies) = postProject 
     143    {2286162D-7571-4735-BAC8-4A8D33A4F42D} = {2286162D-7571-4735-BAC8-4A8D33A4F42D} 
     144    {43718644-173B-42D8-8AD1-E359BFB2BB20} = {43718644-173B-42D8-8AD1-E359BFB2BB20} 
     145    {A3CF4E23-1D1B-4D93-A16A-48C52D118560} = {A3CF4E23-1D1B-4D93-A16A-48C52D118560} 
     146  EndProjectSection 
     147EndProject 
     148Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UploadBinaries", "helpers\UploadBinaries\UploadBinaries.vcproj", "{D96F7075-F6CD-4921-B5D8-8488E2D24BDB}" 
    129149  ProjectSection(WebsiteProperties) = preProject 
    130150    Debug.AspNetCompiler.Debug = "True" 
     
    138158    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} = {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} 
    139159    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} = {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} 
    140     {26B84883-BE52-40E6-9BEE-55AD056D5751} = {26B84883-BE52-40E6-9BEE-55AD056D5751} 
    141160    {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {F3401E75-60FB-4A0E-A18C-6505587D5B1A} 
     161    {53FB9872-5E74-4E62-892D-AD82C2ED67CE} = {53FB9872-5E74-4E62-892D-AD82C2ED67CE} 
    142162    {08D6246D-1B4A-47A3-965D-296DCC54A4E8} = {08D6246D-1B4A-47A3-965D-296DCC54A4E8} 
    143163    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} = {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} 
     
    149169    {2286162D-7571-4735-BAC8-4A8D33A4F42D} = {2286162D-7571-4735-BAC8-4A8D33A4F42D} 
    150170    {BA246C01-063A-4548-8957-32D5CC76171B} = {BA246C01-063A-4548-8957-32D5CC76171B} 
    151     {743B2362-DF6A-4C28-A6C9-0F970D8E1B66} = {743B2362-DF6A-4C28-A6C9-0F970D8E1B66} 
    152   EndProjectSection 
    153 EndProject 
    154 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UploadInstaller", "helpers\UploadInstaller\UploadInstaller.vcproj", "{6206F046-3D36-4258-BB03-3291A7070117}" 
     171  EndProjectSection 
     172EndProject 
     173Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckTaskSched", "modules\CheckTaskSched\CheckTaskSched-2005.vcproj", "{F3401E75-60FB-4A0E-A18C-6505587D5B1A}" 
     174  ProjectSection(WebsiteProperties) = preProject 
     175    Debug.AspNetCompiler.Debug = "True" 
     176    Release.AspNetCompiler.Debug = "False" 
     177  EndProjectSection 
     178EndProject 
     179Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "systray_helper", "helpers\systray_helper\systray_helper.vcproj", "{43718644-173B-42D8-8AD1-E359BFB2BB20}" 
     180  ProjectSection(WebsiteProperties) = preProject 
     181    Debug.AspNetCompiler.Debug = "True" 
     182    Release.AspNetCompiler.Debug = "False" 
     183  EndProjectSection 
     184EndProject 
     185Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsharpSamplePlugin", "modules\CsharpSamplePlugin\CsharpSamplePlugin.csproj", "{1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}" 
     186  ProjectSection(WebsiteProperties) = preProject 
     187    Debug.AspNetCompiler.Debug = "True" 
     188    Release.AspNetCompiler.Debug = "False" 
     189  EndProjectSection 
     190EndProject 
     191Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleManagedPlugin", "modules\SampleManagedPlugin\SampleManagedPlugin.vcproj", "{D367E76D-9485-4DCB-A9D0-3D3C0E190648}" 
     192  ProjectSection(WebsiteProperties) = preProject 
     193    Debug.AspNetCompiler.Debug = "True" 
     194    Release.AspNetCompiler.Debug = "False" 
     195  EndProjectSection 
     196EndProject 
     197Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET", ".NET", "{BBE9A5E7-A16B-443C-A349-823DED5A9FF3}" 
     198  ProjectSection(WebsiteProperties) = preProject 
     199    Debug.AspNetCompiler.Debug = "True" 
     200    Release.AspNetCompiler.Debug = "False" 
     201  EndProjectSection 
     202EndProject 
     203Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "custom-installers", "custom-installers", "{FC917E21-188A-44EE-9EF2-7C1274C2D719}" 
     204  ProjectSection(WebsiteProperties) = preProject 
     205    Debug.AspNetCompiler.Debug = "True" 
     206    Release.AspNetCompiler.Debug = "False" 
     207  EndProjectSection 
     208EndProject 
     209Project("{A49CE20D-CE64-4A08-9F24-92A6443D6699}") = "installer", "helpers\op5-installer\installer.wixproj", "{10A0052D-542B-47AD-85C3-1A3DD45BF2ED}" 
    155210  ProjectSection(WebsiteProperties) = preProject 
    156211    Debug.AspNetCompiler.Debug = "True" 
     
    158213  EndProjectSection 
    159214  ProjectSection(ProjectDependencies) = postProject 
    160     {A3CF4E23-1D1B-4D93-A16A-48C52D118560} = {A3CF4E23-1D1B-4D93-A16A-48C52D118560} 
     215    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} = {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} 
     216    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} = {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} 
     217    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} = {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} 
     218    {6F55C9BF-57F6-4A15-A058-C83A52F539EE} = {6F55C9BF-57F6-4A15-A058-C83A52F539EE} 
     219    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} = {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} 
     220    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} = {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} 
     221    {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {F3401E75-60FB-4A0E-A18C-6505587D5B1A} 
     222    {08D6246D-1B4A-47A3-965D-296DCC54A4E8} = {08D6246D-1B4A-47A3-965D-296DCC54A4E8} 
     223    {BBFF8362-C626-4838-B0A2-F695D638AD24} = {BBFF8362-C626-4838-B0A2-F695D638AD24} 
     224    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} = {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} 
     225    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} = {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} 
    161226    {43718644-173B-42D8-8AD1-E359BFB2BB20} = {43718644-173B-42D8-8AD1-E359BFB2BB20} 
     227    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} = {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} 
    162228    {2286162D-7571-4735-BAC8-4A8D33A4F42D} = {2286162D-7571-4735-BAC8-4A8D33A4F42D} 
    163   EndProjectSection 
    164 EndProject 
    165 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UploadBinaries", "helpers\UploadBinaries\UploadBinaries.vcproj", "{D96F7075-F6CD-4921-B5D8-8488E2D24BDB}" 
    166   ProjectSection(WebsiteProperties) = preProject 
    167     Debug.AspNetCompiler.Debug = "True" 
    168     Release.AspNetCompiler.Debug = "False" 
    169   EndProjectSection 
    170   ProjectSection(ProjectDependencies) = postProject 
     229    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} = {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} 
    171230    {BA246C01-063A-4548-8957-32D5CC76171B} = {BA246C01-063A-4548-8957-32D5CC76171B} 
    172     {2286162D-7571-4735-BAC8-4A8D33A4F42D} = {2286162D-7571-4735-BAC8-4A8D33A4F42D} 
    173     {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} = {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} 
    174     {43718644-173B-42D8-8AD1-E359BFB2BB20} = {43718644-173B-42D8-8AD1-E359BFB2BB20} 
    175     {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} = {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} 
    176     {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} = {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} 
    177     {BBFF8362-C626-4838-B0A2-F695D638AD24} = {BBFF8362-C626-4838-B0A2-F695D638AD24} 
    178     {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} = {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} 
    179     {08D6246D-1B4A-47A3-965D-296DCC54A4E8} = {08D6246D-1B4A-47A3-965D-296DCC54A4E8} 
    180231    {53FB9872-5E74-4E62-892D-AD82C2ED67CE} = {53FB9872-5E74-4E62-892D-AD82C2ED67CE} 
    181     {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {F3401E75-60FB-4A0E-A18C-6505587D5B1A} 
    182     {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} = {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} 
    183     {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} = {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} 
    184     {6F55C9BF-57F6-4A15-A058-C83A52F539EE} = {6F55C9BF-57F6-4A15-A058-C83A52F539EE} 
    185     {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} = {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} 
    186     {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} = {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} 
    187     {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} = {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} 
    188   EndProjectSection 
    189 EndProject 
    190 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckTaskSched", "modules\CheckTaskSched\CheckTaskSched-2005.vcproj", "{F3401E75-60FB-4A0E-A18C-6505587D5B1A}" 
    191   ProjectSection(WebsiteProperties) = preProject 
    192     Debug.AspNetCompiler.Debug = "True" 
    193     Release.AspNetCompiler.Debug = "False" 
    194   EndProjectSection 
    195 EndProject 
    196 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "systray_helper", "helpers\systray_helper\systray_helper.vcproj", "{43718644-173B-42D8-8AD1-E359BFB2BB20}" 
    197   ProjectSection(WebsiteProperties) = preProject 
    198     Debug.AspNetCompiler.Debug = "True" 
    199     Release.AspNetCompiler.Debug = "False" 
    200   EndProjectSection 
    201 EndProject 
    202 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsharpSamplePlugin", "modules\CsharpSamplePlugin\CsharpSamplePlugin.csproj", "{1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}" 
    203   ProjectSection(WebsiteProperties) = preProject 
    204     Debug.AspNetCompiler.Debug = "True" 
    205     Release.AspNetCompiler.Debug = "False" 
    206   EndProjectSection 
    207 EndProject 
    208 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleManagedPlugin", "modules\SampleManagedPlugin\SampleManagedPlugin.vcproj", "{D367E76D-9485-4DCB-A9D0-3D3C0E190648}" 
    209   ProjectSection(WebsiteProperties) = preProject 
    210     Debug.AspNetCompiler.Debug = "True" 
    211     Release.AspNetCompiler.Debug = "False" 
    212   EndProjectSection 
    213 EndProject 
    214 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET", ".NET", "{BBE9A5E7-A16B-443C-A349-823DED5A9FF3}" 
    215   ProjectSection(WebsiteProperties) = preProject 
    216     Debug.AspNetCompiler.Debug = "True" 
    217     Release.AspNetCompiler.Debug = "False" 
    218   EndProjectSection 
    219 EndProject 
    220 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "custom-installers", "custom-installers", "{FC917E21-188A-44EE-9EF2-7C1274C2D719}" 
    221   ProjectSection(WebsiteProperties) = preProject 
    222     Debug.AspNetCompiler.Debug = "True" 
    223     Release.AspNetCompiler.Debug = "False" 
    224   EndProjectSection 
    225 EndProject 
    226 Project("{A49CE20D-CE64-4A08-9F24-92A6443D6699}") = "installer", "helpers\op5-installer\installer.wixproj", "{10A0052D-542B-47AD-85C3-1A3DD45BF2ED}" 
    227   ProjectSection(WebsiteProperties) = preProject 
    228     Debug.AspNetCompiler.Debug = "True" 
    229     Release.AspNetCompiler.Debug = "False" 
    230   EndProjectSection 
    231   ProjectSection(ProjectDependencies) = postProject 
    232     {53FB9872-5E74-4E62-892D-AD82C2ED67CE} = {53FB9872-5E74-4E62-892D-AD82C2ED67CE} 
    233     {BA246C01-063A-4548-8957-32D5CC76171B} = {BA246C01-063A-4548-8957-32D5CC76171B} 
    234     {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} = {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4} 
    235     {2286162D-7571-4735-BAC8-4A8D33A4F42D} = {2286162D-7571-4735-BAC8-4A8D33A4F42D} 
    236     {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} = {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F} 
    237     {43718644-173B-42D8-8AD1-E359BFB2BB20} = {43718644-173B-42D8-8AD1-E359BFB2BB20} 
    238     {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} = {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129} 
    239     {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} = {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D} 
    240     {BBFF8362-C626-4838-B0A2-F695D638AD24} = {BBFF8362-C626-4838-B0A2-F695D638AD24} 
    241     {08D6246D-1B4A-47A3-965D-296DCC54A4E8} = {08D6246D-1B4A-47A3-965D-296DCC54A4E8} 
    242     {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {F3401E75-60FB-4A0E-A18C-6505587D5B1A} 
    243     {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} = {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45} 
    244     {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} = {05DE66AC-E55C-43B3-849F-7EC695D8B8D0} 
    245     {6F55C9BF-57F6-4A15-A058-C83A52F539EE} = {6F55C9BF-57F6-4A15-A058-C83A52F539EE} 
    246     {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} = {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996} 
    247     {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} = {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F} 
    248     {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} = {2FF60AF6-09AA-49AB-B414-2E8FD01655C6} 
    249232  EndProjectSection 
    250233EndProject 
     
    262245EndProject 
    263246Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer_dll_fw", "helpers\installer_dll_fw\installer_dll_fw.vcproj", "{DF1DB6FB-0448-46D6-AE82-9901495E5F1A}" 
     247  ProjectSection(WebsiteProperties) = preProject 
     248    Debug.AspNetCompiler.Debug = "True" 
     249    Release.AspNetCompiler.Debug = "False" 
     250  EndProjectSection 
     251EndProject 
     252Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exception_handler", "..\..\..\google-breakpad\trunk\src\client\windows\handler\exception_handler.vcproj", "{1E2EAF99-5703-4DE3-01BF-339A67FD4D61}" 
     253  ProjectSection(WebsiteProperties) = preProject 
     254    Debug.AspNetCompiler.Debug = "True" 
     255    Release.AspNetCompiler.Debug = "False" 
     256  EndProjectSection 
     257EndProject 
     258Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reporter", "helpers\error_reporter\reporter.vcproj", "{96466E47-3540-4989-9E2A-481C0819DAEA}" 
     259  ProjectSection(WebsiteProperties) = preProject 
     260    Debug.AspNetCompiler.Debug = "True" 
     261    Release.AspNetCompiler.Debug = "False" 
     262  EndProjectSection 
     263EndProject 
     264Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckNSCP", "modules\CheckNSCP\CheckNSCP-2005.vcproj", "{64BDF75C-F679-43BC-B112-A96A39983752}" 
    264265  ProjectSection(WebsiteProperties) = preProject 
    265266    Debug.AspNetCompiler.Debug = "True" 
     
    294295    OP5|Win32 = OP5|Win32 
    295296    OP5|x64 = OP5|x64 
     297    Purify|Any CPU = Purify|Any CPU 
     298    Purify|Itanium = Purify|Itanium 
     299    Purify|Mixed Platforms = Purify|Mixed Platforms 
     300    Purify|Win32 = Purify|Win32 
     301    Purify|x64 = Purify|x64 
    296302    Release|Any CPU = Release|Any CPU 
    297303    Release|Itanium = Release|Itanium 
     
    340346    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.OP5|x64.ActiveCfg = Nightly|x64 
    341347    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.OP5|x64.Build.0 = Nightly|x64 
     348    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|Any CPU.ActiveCfg = OP5|x64 
     349    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|Itanium.ActiveCfg = OP5|x64 
     350    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     351    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     352    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|Win32.ActiveCfg = OP5|x64 
     353    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|x64.ActiveCfg = OP5|x64 
     354    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Purify|x64.Build.0 = OP5|x64 
    342355    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Release|Any CPU.ActiveCfg = Release|x64 
    343356    {2286162D-7571-4735-BAC8-4A8D33A4F42D}.Release|Itanium.ActiveCfg = Release|x64 
     
    387400    {BBFF8362-C626-4838-B0A2-F695D638AD24}.OP5|x64.ActiveCfg = Nightly|x64 
    388401    {BBFF8362-C626-4838-B0A2-F695D638AD24}.OP5|x64.Build.0 = Nightly|x64 
     402    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|Any CPU.ActiveCfg = OP5|x64 
     403    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|Itanium.ActiveCfg = OP5|x64 
     404    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     405    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     406    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|Win32.ActiveCfg = OP5|x64 
     407    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|x64.ActiveCfg = OP5|x64 
     408    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Purify|x64.Build.0 = OP5|x64 
    389409    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Release|Any CPU.ActiveCfg = Release|x64 
    390410    {BBFF8362-C626-4838-B0A2-F695D638AD24}.Release|Itanium.ActiveCfg = Release|x64 
     
    434454    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.OP5|x64.ActiveCfg = Nightly|x64 
    435455    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.OP5|x64.Build.0 = Nightly|x64 
     456    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|Any CPU.ActiveCfg = OP5|x64 
     457    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|Itanium.ActiveCfg = OP5|x64 
     458    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     459    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     460    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|Win32.ActiveCfg = OP5|x64 
     461    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|x64.ActiveCfg = OP5|x64 
     462    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Purify|x64.Build.0 = OP5|x64 
    436463    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Release|Any CPU.ActiveCfg = Release|x64 
    437464    {62B685D7-3A2E-4F3E-B2B8-B17F20C0217F}.Release|Itanium.ActiveCfg = Release|x64 
     
    481508    {BA246C01-063A-4548-8957-32D5CC76171B}.OP5|x64.ActiveCfg = Nightly|x64 
    482509    {BA246C01-063A-4548-8957-32D5CC76171B}.OP5|x64.Build.0 = Nightly|x64 
     510    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|Any CPU.ActiveCfg = OP5|x64 
     511    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|Itanium.ActiveCfg = OP5|x64 
     512    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     513    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     514    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|Win32.ActiveCfg = OP5|x64 
     515    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|x64.ActiveCfg = OP5|x64 
     516    {BA246C01-063A-4548-8957-32D5CC76171B}.Purify|x64.Build.0 = OP5|x64 
    483517    {BA246C01-063A-4548-8957-32D5CC76171B}.Release|Any CPU.ActiveCfg = Release|x64 
    484518    {BA246C01-063A-4548-8957-32D5CC76171B}.Release|Itanium.ActiveCfg = Release|x64 
     
    528562    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.OP5|x64.ActiveCfg = Nightly|x64 
    529563    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.OP5|x64.Build.0 = Nightly|x64 
     564    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|Any CPU.ActiveCfg = OP5|x64 
     565    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|Itanium.ActiveCfg = OP5|x64 
     566    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     567    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     568    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|Win32.ActiveCfg = OP5|x64 
     569    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|x64.ActiveCfg = OP5|x64 
     570    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Purify|x64.Build.0 = OP5|x64 
    530571    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Release|Any CPU.ActiveCfg = Release|x64 
    531572    {E6E588AB-EFEF-481C-9AF7-DCDCB95CFF45}.Release|Itanium.ActiveCfg = Release|x64 
     
    575616    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.OP5|x64.ActiveCfg = Nightly|x64 
    576617    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.OP5|x64.Build.0 = Nightly|x64 
     618    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|Any CPU.ActiveCfg = OP5|x64 
     619    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|Itanium.ActiveCfg = OP5|x64 
     620    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     621    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     622    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|Win32.ActiveCfg = OP5|x64 
     623    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|x64.ActiveCfg = OP5|x64 
     624    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Purify|x64.Build.0 = OP5|x64 
    577625    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Release|Any CPU.ActiveCfg = Release|x64 
    578626    {2FF60AF6-09AA-49AB-B414-2E8FD01655C6}.Release|Itanium.ActiveCfg = Release|x64 
     
    622670    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.OP5|x64.ActiveCfg = Nightly|x64 
    623671    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.OP5|x64.Build.0 = Nightly|x64 
     672    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|Any CPU.ActiveCfg = OP5|x64 
     673    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|Itanium.ActiveCfg = OP5|x64 
     674    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     675    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     676    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|Win32.ActiveCfg = OP5|x64 
     677    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|x64.ActiveCfg = OP5|x64 
     678    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Purify|x64.Build.0 = OP5|x64 
    624679    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Release|Any CPU.ActiveCfg = Release|x64 
    625680    {08D6246D-1B4A-47A3-965D-296DCC54A4E8}.Release|Itanium.ActiveCfg = Release|x64 
     
    669724    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.OP5|x64.ActiveCfg = Nightly|x64 
    670725    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.OP5|x64.Build.0 = Nightly|x64 
     726    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|Any CPU.ActiveCfg = OP5|x64 
     727    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|Itanium.ActiveCfg = OP5|x64 
     728    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     729    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     730    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|Win32.ActiveCfg = OP5|x64 
     731    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|x64.ActiveCfg = OP5|x64 
     732    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Purify|x64.Build.0 = OP5|x64 
    671733    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Release|Any CPU.ActiveCfg = Release|x64 
    672734    {2FCAF54B-AAD3-4F59-895A-8F9CEAFDC65D}.Release|Itanium.ActiveCfg = Release|x64 
     
    716778    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.OP5|x64.ActiveCfg = Nightly|x64 
    717779    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.OP5|x64.Build.0 = Nightly|x64 
     780    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|Any CPU.ActiveCfg = OP5|x64 
     781    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|Itanium.ActiveCfg = OP5|x64 
     782    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     783    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     784    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|Win32.ActiveCfg = OP5|x64 
     785    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|x64.ActiveCfg = OP5|x64 
     786    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Purify|x64.Build.0 = OP5|x64 
    718787    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Release|Any CPU.ActiveCfg = Release|x64 
    719788    {8F1C3E39-D6C6-4414-AAD2-FE03C9A8655F}.Release|Itanium.ActiveCfg = Release|x64 
     
    763832    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.OP5|x64.ActiveCfg = Nightly|x64 
    764833    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.OP5|x64.Build.0 = Nightly|x64 
     834    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|Any CPU.ActiveCfg = OP5|x64 
     835    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|Itanium.ActiveCfg = OP5|x64 
     836    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     837    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     838    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|Win32.ActiveCfg = OP5|x64 
     839    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|x64.ActiveCfg = OP5|x64 
     840    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Purify|x64.Build.0 = OP5|x64 
    765841    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Release|Any CPU.ActiveCfg = Release|x64 
    766842    {05DE66AC-E55C-43B3-849F-7EC695D8B8D0}.Release|Itanium.ActiveCfg = Release|x64 
     
    802878    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Nightly|Win32.Build.0 = Nightly|Win32 
    803879    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Nightly|x64.ActiveCfg = Nightly|x64 
    804     {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Nightly|x64.Build.0 = Nightly|x64 
    805880    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.OP5|Any CPU.ActiveCfg = OP5|x64 
    806881    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.OP5|Itanium.ActiveCfg = OP5|x64 
     
    811886    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.OP5|x64.ActiveCfg = Nightly|x64 
    812887    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.OP5|x64.Build.0 = Nightly|x64 
     888    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|Any CPU.ActiveCfg = OP5|x64 
     889    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|Itanium.ActiveCfg = OP5|x64 
     890    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     891    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     892    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|Win32.ActiveCfg = OP5|x64 
     893    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|x64.ActiveCfg = OP5|x64 
     894    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Purify|x64.Build.0 = OP5|x64 
    813895    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Release|Any CPU.ActiveCfg = Release|x64 
    814896    {626EB00E-A4D2-4B02-9BF4-4C655CA2B7E4}.Release|Itanium.ActiveCfg = Release|x64 
     
    853935    {0E2B21D9-F432-4127-8E92-7716B1072510}.OP5|Win32.ActiveCfg = OP5|Any CPU 
    854936    {0E2B21D9-F432-4127-8E92-7716B1072510}.OP5|x64.ActiveCfg = OP5|Any CPU 
     937    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|Any CPU.ActiveCfg = OP5|Any CPU 
     938    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|Any CPU.Build.0 = OP5|Any CPU 
     939    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|Itanium.ActiveCfg = OP5|Any CPU 
     940    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|Mixed Platforms.ActiveCfg = OP5|Any CPU 
     941    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|Mixed Platforms.Build.0 = OP5|Any CPU 
     942    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|Win32.ActiveCfg = OP5|Any CPU 
     943    {0E2B21D9-F432-4127-8E92-7716B1072510}.Purify|x64.ActiveCfg = OP5|Any CPU 
    855944    {0E2B21D9-F432-4127-8E92-7716B1072510}.Release|Any CPU.ActiveCfg = Release|Any CPU 
    856945    {0E2B21D9-F432-4127-8E92-7716B1072510}.Release|Any CPU.Build.0 = Release|Any CPU 
     
    900989    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.OP5|x64.ActiveCfg = Nightly|x64 
    901990    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.OP5|x64.Build.0 = Nightly|x64 
     991    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|Any CPU.ActiveCfg = OP5|x64 
     992    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|Itanium.ActiveCfg = OP5|x64 
     993    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     994    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     995    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|Win32.ActiveCfg = OP5|x64 
     996    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|x64.ActiveCfg = OP5|x64 
     997    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Purify|x64.Build.0 = OP5|x64 
    902998    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Release|Any CPU.ActiveCfg = Release|x64 
    903999    {6F55C9BF-57F6-4A15-A058-C83A52F539EE}.Release|Itanium.ActiveCfg = Release|x64 
     
    9471043    {26B84883-BE52-40E6-9BEE-55AD056D5751}.OP5|x64.ActiveCfg = Nightly|x64 
    9481044    {26B84883-BE52-40E6-9BEE-55AD056D5751}.OP5|x64.Build.0 = Nightly|x64 
     1045    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1046    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|Itanium.ActiveCfg = OP5|x64 
     1047    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1048    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1049    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|Win32.ActiveCfg = OP5|x64 
     1050    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|x64.ActiveCfg = OP5|x64 
     1051    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Purify|x64.Build.0 = OP5|x64 
    9491052    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Release|Any CPU.ActiveCfg = Release|x64 
    9501053    {26B84883-BE52-40E6-9BEE-55AD056D5751}.Release|Itanium.ActiveCfg = Release|x64 
     
    9951098    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.OP5|x64.ActiveCfg = Nightly|x64 
    9961099    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.OP5|x64.Build.0 = Nightly|x64 
     1100    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1101    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|Itanium.ActiveCfg = OP5|x64 
     1102    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1103    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1104    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|Win32.ActiveCfg = OP5|x64 
     1105    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|x64.ActiveCfg = OP5|x64 
     1106    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Purify|x64.Build.0 = OP5|x64 
    9971107    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Release|Any CPU.ActiveCfg = Release|x64 
    9981108    {0BEEC749-0E3E-4FB2-82DA-AC8D4730A129}.Release|Itanium.ActiveCfg = Release|x64 
     
    10431153    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.OP5|x64.ActiveCfg = Nightly|x64 
    10441154    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.OP5|x64.Build.0 = Nightly|x64 
     1155    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1156    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|Itanium.ActiveCfg = OP5|x64 
     1157    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1158    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1159    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|Win32.ActiveCfg = OP5|x64 
     1160    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|x64.ActiveCfg = OP5|x64 
     1161    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Purify|x64.Build.0 = OP5|x64 
    10451162    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Release|Any CPU.ActiveCfg = Release|x64 
    10461163    {4241C6CF-EC01-4AD9-89B0-B75EBA8A5996}.Release|Itanium.ActiveCfg = Release|x64 
     
    10881205    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Nightly|Win32.ActiveCfg = Release 
    10891206    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Nightly|x64.ActiveCfg = Release 
    1090     {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Nightly|x64.Build.0 = Release 
    10911207    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.OP5|Any CPU.ActiveCfg = OP5 
    10921208    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.OP5|Any CPU.Build.0 = OP5 
     
    10971213    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.OP5|Win32.ActiveCfg = OP5 
    10981214    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.OP5|x64.ActiveCfg = Release 
     1215    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Any CPU.ActiveCfg = Release 
     1216    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Any CPU.Build.0 = Release 
     1217    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Itanium.ActiveCfg = Release 
     1218    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Itanium.Build.0 = Release 
     1219    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Mixed Platforms.ActiveCfg = Release 
     1220    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Mixed Platforms.Build.0 = Release 
     1221    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Win32.ActiveCfg = Release 
     1222    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|Win32.Build.0 = Release 
     1223    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|x64.ActiveCfg = Release 
     1224    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Purify|x64.Build.0 = Release 
    10991225    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Release|Any CPU.ActiveCfg = Release 
    11001226    {A3CF4E23-1D1B-4D93-A16A-48C52D118560}.Release|Any CPU.Build.0 = Release 
     
    11321258    {6206F046-3D36-4258-BB03-3291A7070117}.Nightly|Win32.ActiveCfg = Release|Win32 
    11331259    {6206F046-3D36-4258-BB03-3291A7070117}.Nightly|x64.ActiveCfg = Release|x64 
    1134     {6206F046-3D36-4258-BB03-3291A7070117}.Nightly|x64.Build.0 = Release|x64 
    11351260    {6206F046-3D36-4258-BB03-3291A7070117}.OP5|Any CPU.ActiveCfg = OP5|x64 
    11361261    {6206F046-3D36-4258-BB03-3291A7070117}.OP5|Itanium.ActiveCfg = OP5|x64 
     
    11391264    {6206F046-3D36-4258-BB03-3291A7070117}.OP5|Win32.ActiveCfg = OP5|Win32 
    11401265    {6206F046-3D36-4258-BB03-3291A7070117}.OP5|x64.ActiveCfg = OP5|x64 
     1266    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1267    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|Itanium.ActiveCfg = OP5|x64 
     1268    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1269    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1270    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|Win32.ActiveCfg = OP5|x64 
     1271    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|x64.ActiveCfg = OP5|x64 
     1272    {6206F046-3D36-4258-BB03-3291A7070117}.Purify|x64.Build.0 = OP5|x64 
    11411273    {6206F046-3D36-4258-BB03-3291A7070117}.Release|Any CPU.ActiveCfg = Release|Win32 
    11421274    {6206F046-3D36-4258-BB03-3291A7070117}.Release|Itanium.ActiveCfg = Release|Win32 
     
    11721304    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Nightly|Win32.ActiveCfg = Nightly|Win32 
    11731305    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Nightly|x64.ActiveCfg = Nightly|x64 
    1174     {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Nightly|x64.Build.0 = Nightly|x64 
    11751306    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.OP5|Any CPU.ActiveCfg = OP5|x64 
    11761307    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.OP5|Itanium.ActiveCfg = OP5|x64 
     
    11791310    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.OP5|Win32.ActiveCfg = OP5|Win32 
    11801311    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.OP5|x64.ActiveCfg = OP5|x64 
     1312    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1313    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|Itanium.ActiveCfg = OP5|x64 
     1314    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1315    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1316    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|Win32.ActiveCfg = OP5|x64 
     1317    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|x64.ActiveCfg = OP5|x64 
     1318    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Purify|x64.Build.0 = OP5|x64 
    11811319    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Release|Any CPU.ActiveCfg = Release|x64 
    11821320    {D96F7075-F6CD-4921-B5D8-8488E2D24BDB}.Release|Itanium.ActiveCfg = Release|x64 
     
    12251363    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.OP5|x64.ActiveCfg = Nightly|x64 
    12261364    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.OP5|x64.Build.0 = Nightly|x64 
     1365    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1366    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|Itanium.ActiveCfg = OP5|x64 
     1367    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1368    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1369    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|Win32.ActiveCfg = OP5|x64 
     1370    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|x64.ActiveCfg = OP5|x64 
     1371    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Purify|x64.Build.0 = OP5|x64 
    12271372    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Release|Any CPU.ActiveCfg = Release|x64 
    12281373    {F3401E75-60FB-4A0E-A18C-6505587D5B1A}.Release|Itanium.ActiveCfg = Release|x64 
     
    12711416    {43718644-173B-42D8-8AD1-E359BFB2BB20}.OP5|x64.ActiveCfg = Nightly|x64 
    12721417    {43718644-173B-42D8-8AD1-E359BFB2BB20}.OP5|x64.Build.0 = Nightly|x64 
     1418    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1419    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|Itanium.ActiveCfg = OP5|x64 
     1420    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1421    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1422    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|Win32.ActiveCfg = OP5|x64 
     1423    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|x64.ActiveCfg = OP5|x64 
     1424    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Purify|x64.Build.0 = OP5|x64 
    12731425    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Release|Any CPU.ActiveCfg = Release|Win32 
    12741426    {43718644-173B-42D8-8AD1-E359BFB2BB20}.Release|Itanium.ActiveCfg = Release|Win32 
     
    13131465    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.OP5|Win32.ActiveCfg = OP5|Any CPU 
    13141466    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.OP5|x64.ActiveCfg = Release|Any CPU 
     1467    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|Any CPU.ActiveCfg = OP5|Any CPU 
     1468    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|Any CPU.Build.0 = OP5|Any CPU 
     1469    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|Itanium.ActiveCfg = OP5|Any CPU 
     1470    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|Mixed Platforms.ActiveCfg = OP5|Any CPU 
     1471    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|Mixed Platforms.Build.0 = OP5|Any CPU 
     1472    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|Win32.ActiveCfg = OP5|Any CPU 
     1473    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Purify|x64.ActiveCfg = OP5|Any CPU 
    13151474    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Release|Any CPU.ActiveCfg = Release|Any CPU 
    13161475    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D}.Release|Any CPU.Build.0 = Release|Any CPU 
     
    13521511    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.OP5|Win32.ActiveCfg = OP5|Win32 
    13531512    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.OP5|x64.ActiveCfg = OP5|Win32 
     1513    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|Any CPU.ActiveCfg = OP5|Win32 
     1514    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|Itanium.ActiveCfg = OP5|Win32 
     1515    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|Mixed Platforms.ActiveCfg = OP5|Win32 
     1516    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|Mixed Platforms.Build.0 = OP5|Win32 
     1517    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|Win32.ActiveCfg = OP5|Win32 
     1518    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|Win32.Build.0 = OP5|Win32 
     1519    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Purify|x64.ActiveCfg = OP5|Win32 
    13541520    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Release|Any CPU.ActiveCfg = Release|Win32 
    13551521    {D367E76D-9485-4DCB-A9D0-3D3C0E190648}.Release|Itanium.ActiveCfg = Release|Win32 
     
    13961562    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Nightly|Win32.ActiveCfg = Release 
    13971563    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Nightly|x64.ActiveCfg = Release 
    1398     {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Nightly|x64.Build.0 = Release 
    13991564    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.OP5|Any CPU.ActiveCfg = OP5 
    14001565    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.OP5|Any CPU.Build.0 = OP5 
     
    14071572    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.OP5|x64.ActiveCfg = Release 
    14081573    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.OP5|x64.Build.0 = Release 
     1574    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Any CPU.ActiveCfg = Release 
     1575    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Any CPU.Build.0 = Release 
     1576    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Itanium.ActiveCfg = Release 
     1577    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Itanium.Build.0 = Release 
     1578    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Mixed Platforms.ActiveCfg = Release 
     1579    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Mixed Platforms.Build.0 = Release 
     1580    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Win32.ActiveCfg = Release 
     1581    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|Win32.Build.0 = Release 
     1582    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|x64.ActiveCfg = Release 
     1583    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Purify|x64.Build.0 = Release 
    14091584    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Release|Any CPU.ActiveCfg = Release 
    14101585    {10A0052D-542B-47AD-85C3-1A3DD45BF2ED}.Release|Any CPU.Build.0 = Release 
     
    14571632    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.OP5|x64.ActiveCfg = OP5|x64 
    14581633    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.OP5|x64.Build.0 = OP5|x64 
     1634    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1635    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|Itanium.ActiveCfg = OP5|x64 
     1636    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1637    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1638    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|Win32.ActiveCfg = OP5|x64 
     1639    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|x64.ActiveCfg = OP5|x64 
     1640    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Purify|x64.Build.0 = OP5|x64 
    14591641    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Release|Any CPU.ActiveCfg = Release|x64 
    14601642    {53FB9872-5E74-4E62-892D-AD82C2ED67CE}.Release|Itanium.ActiveCfg = Release|x64 
     
    14971679    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.OP5|Win32.Build.0 = Release|Win32 
    14981680    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.OP5|x64.ActiveCfg = Release|Win32 
     1681    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|Any CPU.ActiveCfg = Release|x64 
     1682    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|Itanium.ActiveCfg = Release|x64 
     1683    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|Mixed Platforms.ActiveCfg = Release|x64 
     1684    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|Mixed Platforms.Build.0 = Release|x64 
     1685    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|Win32.ActiveCfg = Release|x64 
     1686    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|x64.ActiveCfg = Release|x64 
     1687    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Purify|x64.Build.0 = Release|x64 
    14991688    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Release|Any CPU.ActiveCfg = Release|Win32 
    15001689    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66}.Release|Itanium.ActiveCfg = Release|Win32 
     
    15301719    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Nightly|Win32.ActiveCfg = Release|x64 
    15311720    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Nightly|x64.ActiveCfg = Release|x64 
    1532     {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Nightly|x64.Build.0 = Release|x64 
    15331721    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.OP5|Any CPU.ActiveCfg = Release|x64 
    15341722    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.OP5|Itanium.ActiveCfg = Release|x64 
     
    15381726    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.OP5|x64.ActiveCfg = Release|x64 
    15391727    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.OP5|x64.Build.0 = Release|x64 
     1728    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|Any CPU.ActiveCfg = Release|x64 
     1729    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|Itanium.ActiveCfg = Release|x64 
     1730    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|Mixed Platforms.ActiveCfg = Release|x64 
     1731    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|Mixed Platforms.Build.0 = Release|x64 
     1732    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|Win32.ActiveCfg = Release|x64 
     1733    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|x64.ActiveCfg = Release|x64 
     1734    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Purify|x64.Build.0 = Release|x64 
    15401735    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Release|Any CPU.ActiveCfg = Release|x64 
    15411736    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Release|Itanium.ActiveCfg = Release|x64 
     
    15461741    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Release|x64.ActiveCfg = Release|x64 
    15471742    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A}.Release|x64.Build.0 = Release|x64 
     1743    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|Any CPU.ActiveCfg = Debug|x64 
     1744    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|Itanium.ActiveCfg = Debug|x64 
     1745    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 
     1746    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|Mixed Platforms.Build.0 = Debug|x64 
     1747    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|Win32.ActiveCfg = Debug|Win32 
     1748    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|Win32.Build.0 = Debug|Win32 
     1749    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|x64.ActiveCfg = Debug|x64 
     1750    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug|x64.Build.0 = Debug|x64 
     1751    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|Any CPU.ActiveCfg = Debug|x64 
     1752    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|Itanium.ActiveCfg = Debug|x64 
     1753    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|Mixed Platforms.ActiveCfg = Debug|x64 
     1754    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|Mixed Platforms.Build.0 = Debug|x64 
     1755    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|Win32.ActiveCfg = Debug|x64 
     1756    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|x64.ActiveCfg = Debug|x64 
     1757    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Debug-MemCheck|x64.Build.0 = Debug|x64 
     1758    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|Any CPU.ActiveCfg = Debug|x64 
     1759    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|Itanium.ActiveCfg = Debug|x64 
     1760    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|Mixed Platforms.ActiveCfg = Debug|x64 
     1761    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|Mixed Platforms.Build.0 = Debug|x64 
     1762    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|Win32.ActiveCfg = Debug|x64 
     1763    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|x64.ActiveCfg = Debug|x64 
     1764    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Distribution|x64.Build.0 = Debug|x64 
     1765    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|Any CPU.ActiveCfg = Debug|x64 
     1766    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|Itanium.ActiveCfg = Debug|x64 
     1767    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|Mixed Platforms.ActiveCfg = Debug|x64 
     1768    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|Mixed Platforms.Build.0 = Debug|x64 
     1769    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|Win32.ActiveCfg = Debug|x64 
     1770    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|x64.ActiveCfg = Debug|x64 
     1771    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Nightly|x64.Build.0 = Debug|x64 
     1772    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|Any CPU.ActiveCfg = Debug|x64 
     1773    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|Itanium.ActiveCfg = Debug|x64 
     1774    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|Mixed Platforms.ActiveCfg = Debug|x64 
     1775    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|Mixed Platforms.Build.0 = Debug|x64 
     1776    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|Win32.ActiveCfg = Debug|x64 
     1777    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|x64.ActiveCfg = Debug|x64 
     1778    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.OP5|x64.Build.0 = Debug|x64 
     1779    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|Any CPU.ActiveCfg = Purify|x64 
     1780    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|Itanium.ActiveCfg = Purify|x64 
     1781    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|Mixed Platforms.ActiveCfg = Purify|x64 
     1782    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|Mixed Platforms.Build.0 = Purify|x64 
     1783    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|Win32.ActiveCfg = Purify|Win32 
     1784    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|Win32.Build.0 = Purify|Win32 
     1785    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|x64.ActiveCfg = Purify|x64 
     1786    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Purify|x64.Build.0 = Purify|x64 
     1787    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|Any CPU.ActiveCfg = Release|x64 
     1788    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|Itanium.ActiveCfg = Release|x64 
     1789    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|Mixed Platforms.ActiveCfg = Release|x64 
     1790    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|Mixed Platforms.Build.0 = Release|x64 
     1791    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|Win32.ActiveCfg = Release|Win32 
     1792    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|Win32.Build.0 = Release|Win32 
     1793    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|x64.ActiveCfg = Release|x64 
     1794    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61}.Release|x64.Build.0 = Release|x64 
     1795    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|Any CPU.ActiveCfg = Debug|x64 
     1796    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|Itanium.ActiveCfg = Debug|x64 
     1797    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 
     1798    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|Mixed Platforms.Build.0 = Debug|x64 
     1799    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|Win32.ActiveCfg = Debug|Win32 
     1800    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|Win32.Build.0 = Debug|Win32 
     1801    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug|x64.ActiveCfg = Debug|x64 
     1802    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|Any CPU.ActiveCfg = Debug|x64 
     1803    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|Itanium.ActiveCfg = Debug|x64 
     1804    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|Mixed Platforms.ActiveCfg = Debug|x64 
     1805    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|Mixed Platforms.Build.0 = Debug|x64 
     1806    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|Win32.ActiveCfg = Debug|x64 
     1807    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|x64.ActiveCfg = Debug|x64 
     1808    {96466E47-3540-4989-9E2A-481C0819DAEA}.Debug-MemCheck|x64.Build.0 = Debug|x64 
     1809    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|Any CPU.ActiveCfg = Debug|x64 
     1810    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|Itanium.ActiveCfg = Debug|x64 
     1811    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|Mixed Platforms.ActiveCfg = Debug|x64 
     1812    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|Mixed Platforms.Build.0 = Debug|x64 
     1813    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|Win32.ActiveCfg = Debug|x64 
     1814    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|x64.ActiveCfg = Debug|x64 
     1815    {96466E47-3540-4989-9E2A-481C0819DAEA}.Distribution|x64.Build.0 = Debug|x64 
     1816    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|Any CPU.ActiveCfg = Nightly|x64 
     1817    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|Itanium.ActiveCfg = Nightly|x64 
     1818    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|Mixed Platforms.ActiveCfg = Nightly|x64 
     1819    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|Mixed Platforms.Build.0 = Nightly|x64 
     1820    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|Win32.ActiveCfg = Nightly|Win32 
     1821    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|Win32.Build.0 = Nightly|Win32 
     1822    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|x64.ActiveCfg = Nightly|x64 
     1823    {96466E47-3540-4989-9E2A-481C0819DAEA}.Nightly|x64.Build.0 = Nightly|x64 
     1824    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|Any CPU.ActiveCfg = OP5|x64 
     1825    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|Itanium.ActiveCfg = OP5|x64 
     1826    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|Mixed Platforms.ActiveCfg = OP5|x64 
     1827    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|Mixed Platforms.Build.0 = OP5|x64 
     1828    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|Win32.ActiveCfg = OP5|Win32 
     1829    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|Win32.Build.0 = OP5|Win32 
     1830    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|x64.ActiveCfg = OP5|x64 
     1831    {96466E47-3540-4989-9E2A-481C0819DAEA}.OP5|x64.Build.0 = OP5|x64 
     1832    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1833    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|Itanium.ActiveCfg = OP5|x64 
     1834    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1835    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1836    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|Win32.ActiveCfg = OP5|x64 
     1837    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|x64.ActiveCfg = OP5|x64 
     1838    {96466E47-3540-4989-9E2A-481C0819DAEA}.Purify|x64.Build.0 = OP5|x64 
     1839    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|Any CPU.ActiveCfg = Release|x64 
     1840    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|Itanium.ActiveCfg = Release|x64 
     1841    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|Mixed Platforms.ActiveCfg = Release|x64 
     1842    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|Mixed Platforms.Build.0 = Release|x64 
     1843    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|Win32.ActiveCfg = Release|Win32 
     1844    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|Win32.Build.0 = Release|Win32 
     1845    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|x64.ActiveCfg = Release|x64 
     1846    {96466E47-3540-4989-9E2A-481C0819DAEA}.Release|x64.Build.0 = Release|x64 
     1847    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|Any CPU.ActiveCfg = Debug|x64 
     1848    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|Itanium.ActiveCfg = Debug|x64 
     1849    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 
     1850    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|Mixed Platforms.Build.0 = Debug|x64 
     1851    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|Win32.ActiveCfg = Debug|Win32 
     1852    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|Win32.Build.0 = Debug|Win32 
     1853    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|x64.ActiveCfg = Debug|x64 
     1854    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug|x64.Build.0 = Debug|x64 
     1855    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|Any CPU.ActiveCfg = Debug-MemCheck|x64 
     1856    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|Itanium.ActiveCfg = Debug-MemCheck|x64 
     1857    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|Mixed Platforms.ActiveCfg = Debug-MemCheck|x64 
     1858    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|Mixed Platforms.Build.0 = Debug-MemCheck|x64 
     1859    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|Win32.ActiveCfg = Debug-MemCheck|Win32 
     1860    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|Win32.Build.0 = Debug-MemCheck|Win32 
     1861    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|x64.ActiveCfg = Debug-MemCheck|x64 
     1862    {64BDF75C-F679-43BC-B112-A96A39983752}.Debug-MemCheck|x64.Build.0 = Debug-MemCheck|x64 
     1863    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|Any CPU.ActiveCfg = Distribution|x64 
     1864    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|Itanium.ActiveCfg = Distribution|x64 
     1865    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|Mixed Platforms.ActiveCfg = Distribution|x64 
     1866    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|Mixed Platforms.Build.0 = Distribution|x64 
     1867    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|Win32.ActiveCfg = Distribution|Win32 
     1868    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|Win32.Build.0 = Distribution|Win32 
     1869    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|x64.ActiveCfg = Distribution|x64 
     1870    {64BDF75C-F679-43BC-B112-A96A39983752}.Distribution|x64.Build.0 = Distribution|x64 
     1871    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|Any CPU.ActiveCfg = Nightly|x64 
     1872    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|Itanium.ActiveCfg = Nightly|x64 
     1873    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|Mixed Platforms.ActiveCfg = Nightly|x64 
     1874    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|Mixed Platforms.Build.0 = Nightly|x64 
     1875    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|Win32.ActiveCfg = Nightly|Win32 
     1876    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|Win32.Build.0 = Nightly|Win32 
     1877    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|x64.ActiveCfg = Nightly|x64 
     1878    {64BDF75C-F679-43BC-B112-A96A39983752}.Nightly|x64.Build.0 = Nightly|x64 
     1879    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|Any CPU.ActiveCfg = OP5|x64 
     1880    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|Itanium.ActiveCfg = OP5|x64 
     1881    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|Mixed Platforms.ActiveCfg = OP5|x64 
     1882    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|Mixed Platforms.Build.0 = OP5|x64 
     1883    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|Win32.ActiveCfg = OP5|Win32 
     1884    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|Win32.Build.0 = OP5|Win32 
     1885    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|x64.ActiveCfg = OP5|x64 
     1886    {64BDF75C-F679-43BC-B112-A96A39983752}.OP5|x64.Build.0 = OP5|x64 
     1887    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|Any CPU.ActiveCfg = OP5|x64 
     1888    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|Itanium.ActiveCfg = OP5|x64 
     1889    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|Mixed Platforms.ActiveCfg = OP5|x64 
     1890    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|Mixed Platforms.Build.0 = OP5|x64 
     1891    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|Win32.ActiveCfg = OP5|x64 
     1892    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|x64.ActiveCfg = OP5|x64 
     1893    {64BDF75C-F679-43BC-B112-A96A39983752}.Purify|x64.Build.0 = OP5|x64 
     1894    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|Any CPU.ActiveCfg = Release|x64 
     1895    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|Itanium.ActiveCfg = Release|x64 
     1896    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|Mixed Platforms.ActiveCfg = Release|x64 
     1897    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|Mixed Platforms.Build.0 = Release|x64 
     1898    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|Win32.ActiveCfg = Release|Win32 
     1899    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|Win32.Build.0 = Release|Win32 
     1900    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|x64.ActiveCfg = Release|x64 
     1901    {64BDF75C-F679-43BC-B112-A96A39983752}.Release|x64.Build.0 = Release|x64 
    15481902  EndGlobalSection 
    15491903  GlobalSection(SolutionProperties) = preSolution 
     
    15671921    {F3401E75-60FB-4A0E-A18C-6505587D5B1A} = {9757464B-C125-4307-A84A-F4181AE6A081} 
    15681922    {53FB9872-5E74-4E62-892D-AD82C2ED67CE} = {9757464B-C125-4307-A84A-F4181AE6A081} 
     1923    {64BDF75C-F679-43BC-B112-A96A39983752} = {9757464B-C125-4307-A84A-F4181AE6A081} 
    15691924    {0E2B21D9-F432-4127-8E92-7716B1072510} = {9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2} 
    15701925    {A3CF4E23-1D1B-4D93-A16A-48C52D118560} = {9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2} 
     
    15751930    {743B2362-DF6A-4C28-A6C9-0F970D8E1B66} = {9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2} 
    15761931    {DF1DB6FB-0448-46D6-AE82-9901495E5F1A} = {9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2} 
     1932    {1E2EAF99-5703-4DE3-01BF-339A67FD4D61} = {9A087442-7BB2-4CF0-9F58-5D1BC3C32CD2} 
    15771933    {D367E76D-9485-4DCB-A9D0-3D3C0E190648} = {BBE9A5E7-A16B-443C-A349-823DED5A9FF3} 
    15781934    {1D9DEE38-BBDC-49DE-A6F3-BAC26E114C1D} = {BBE9A5E7-A16B-443C-A349-823DED5A9FF3} 
  • NSClient++-2005.vcproj

    r9bb220f r41ca52e  
    8585      <Tool 
    8686        Name="VCLinkerTool" 
    87         AdditionalDependencies="kernel32.lib user32.lib advapi32.lib ws2_32.lib Userenv.lib" 
     87        AdditionalDependencies="kernel32.lib user32.lib advapi32.lib ws2_32.lib Userenv.lib C:\source\google-breakpad\trunk\src\client\windows\Release\lib\exception_handler.lib" 
    8888        OutputFile="$(OutDir)\$(ProjectName).exe" 
    8989        LinkIncremental="1" 
     
    257257        PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE" 
    258258        BasicRuntimeChecks="3" 
    259         RuntimeLibrary="3" 
     259        RuntimeLibrary="1" 
    260260        UsePrecompiledHeader="2" 
    261261        PrecompiledHeaderThrough="StdAfx.h" 
     
    651651        Name="VCCLCompilerTool" 
    652652        AdditionalIncludeDirectories="include" 
    653         PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS" 
     653        PreprocessorDefinitions="USE_BREAKPAD" 
    654654        UsePrecompiledHeader="2" 
    655655        PrecompiledHeaderThrough="StdAfx.h" 
     
    675675      <Tool 
    676676        Name="VCLinkerTool" 
    677         AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib Userenv.lib" 
     677        AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib Userenv.lib google-breakpad-exception_handler.lib google-breakpad-crash_generation_client.lib google-breakpad-common.lib" 
    678678        OutputFile="$(OutDir)\$(ProjectName).exe" 
    679679        LinkIncremental="1" 
     
    746746        Name="VCCLCompilerTool" 
    747747        AdditionalIncludeDirectories="include" 
    748         PreprocessorDefinitions="ARCH_x64" 
     748        PreprocessorDefinitions="USE_BREAKPAD" 
    749749        UsePrecompiledHeader="2" 
    750750        PrecompiledHeaderThrough="StdAfx.h" 
     
    769769      <Tool 
    770770        Name="VCLinkerTool" 
    771         AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib Userenv.lib" 
     771        AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib Userenv.lib google-breakpad-exception_handler.lib google-breakpad-crash_generation_client.lib google-breakpad-common.lib" 
    772772        OutputFile="$(OutDir)\$(ProjectName).exe" 
    773773        LinkIncremental="1" 
     
    20012001      </File> 
    20022002      <File 
     2003        RelativePath=".\include\breakpad\breakpad_config.cpp" 
     2004        > 
     2005        <FileConfiguration 
     2006          Name="Release|Win32" 
     2007          > 
     2008          <Tool 
     2009            Name="VCCLCompilerTool" 
     2010            UsePrecompiledHeader="0" 
     2011          /> 
     2012        </FileConfiguration> 
     2013        <FileConfiguration 
     2014          Name="Release|x64" 
     2015          > 
     2016          <Tool 
     2017            Name="VCCLCompilerTool" 
     2018            UsePrecompiledHeader="0" 
     2019          /> 
     2020        </FileConfiguration> 
     2021        <FileConfiguration 
     2022          Name="Debug|Win32" 
     2023          > 
     2024          <Tool 
     2025            Name="VCCLCompilerTool" 
     2026            UsePrecompiledHeader="0" 
     2027          /> 
     2028        </FileConfiguration> 
     2029        <FileConfiguration 
     2030          Name="Debug|x64" 
     2031          > 
     2032          <Tool 
     2033            Name="VCCLCompilerTool" 
     2034            UsePrecompiledHeader="0" 
     2035          /> 
     2036        </FileConfiguration> 
     2037        <FileConfiguration 
     2038          Name="Distribution|Win32" 
     2039          > 
     2040          <Tool 
     2041            Name="VCCLCompilerTool" 
     2042            UsePrecompiledHeader="0" 
     2043          /> 
     2044        </FileConfiguration> 
     2045        <FileConfiguration 
     2046          Name="Distribution|x64" 
     2047          > 
     2048          <Tool 
     2049            Name="VCCLCompilerTool" 
     2050            UsePrecompiledHeader="0" 
     2051          /> 
     2052        </FileConfiguration> 
     2053        <FileConfiguration 
     2054          Name="Nightly|Win32" 
     2055          > 
     2056          <Tool 
     2057            Name="VCCLCompilerTool" 
     2058            UsePrecompiledHeader="0" 
     2059          /> 
     2060        </FileConfiguration> 
     2061        <FileConfiguration 
     2062          Name="Nightly|x64" 
     2063          > 
     2064          <Tool 
     2065            Name="VCCLCompilerTool" 
     2066            UsePrecompiledHeader="0" 
     2067          /> 
     2068        </FileConfiguration> 
     2069        <FileConfiguration 
     2070          Name="Debug-MemCheck|Win32" 
     2071          > 
     2072          <Tool 
     2073            Name="VCCLCompilerTool" 
     2074            UsePrecompiledHeader="0" 
     2075          /> 
     2076        </FileConfiguration> 
     2077        <FileConfiguration 
     2078          Name="Debug-MemCheck|x64" 
     2079          > 
     2080          <Tool 
     2081            Name="VCCLCompilerTool" 
     2082            UsePrecompiledHeader="0" 
     2083          /> 
     2084        </FileConfiguration> 
     2085        <FileConfiguration 
     2086          Name="OP5|Win32" 
     2087          > 
     2088          <Tool 
     2089            Name="VCCLCompilerTool" 
     2090            UsePrecompiledHeader="0" 
     2091          /> 
     2092        </FileConfiguration> 
     2093        <FileConfiguration 
     2094          Name="OP5|x64" 
     2095          > 
     2096          <Tool 
     2097            Name="VCCLCompilerTool" 
     2098            UsePrecompiledHeader="0" 
     2099          /> 
     2100        </FileConfiguration> 
     2101      </File> 
     2102      <File 
     2103        RelativePath=".\include\breakpad\exception_handler_win32.cpp" 
     2104        > 
     2105        <FileConfiguration 
     2106          Name="Release|Win32" 
     2107          > 
     2108          <Tool 
     2109            Name="VCCLCompilerTool" 
     2110            UsePrecompiledHeader="0" 
     2111          /> 
     2112        </FileConfiguration> 
     2113        <FileConfiguration 
     2114          Name="Release|x64" 
     2115          > 
     2116          <Tool 
     2117            Name="VCCLCompilerTool" 
     2118            UsePrecompiledHeader="0" 
     2119          /> 
     2120        </FileConfiguration> 
     2121        <FileConfiguration 
     2122          Name="Debug|Win32" 
     2123          > 
     2124          <Tool 
     2125            Name="VCCLCompilerTool" 
     2126            UsePrecompiledHeader="0" 
     2127          /> 
     2128        </FileConfiguration> 
     2129        <FileConfiguration 
     2130          Name="Debug|x64" 
     2131          ExcludedFromBuild="true" 
     2132          > 
     2133          <Tool 
     2134            Name="VCCLCompilerTool" 
     2135            UsePrecompiledHeader="0" 
     2136          /> 
     2137        </FileConfiguration> 
     2138        <FileConfiguration 
     2139          Name="Distribution|Win32" 
     2140          > 
     2141          <Tool 
     2142            Name="VCCLCompilerTool" 
     2143            UsePrecompiledHeader="0" 
     2144          /> 
     2145        </FileConfiguration> 
     2146        <FileConfiguration 
     2147          Name="Distribution|x64" 
     2148          > 
     2149          <Tool 
     2150            Name="VCCLCompilerTool" 
     2151            UsePrecompiledHeader="0" 
     2152          /> 
     2153        </FileConfiguration> 
     2154        <FileConfiguration 
     2155          Name="Nightly|Win32" 
     2156          > 
     2157          <Tool 
     2158            Name="VCCLCompilerTool" 
     2159            UsePrecompiledHeader="0" 
     2160          /> 
     2161        </FileConfiguration> 
     2162        <FileConfiguration 
     2163          Name="Nightly|x64" 
     2164          > 
     2165          <Tool 
     2166            Name="VCCLCompilerTool" 
     2167            UsePrecompiledHeader="0" 
     2168          /> 
     2169        </FileConfiguration> 
     2170        <FileConfiguration 
     2171          Name="Debug-MemCheck|Win32" 
     2172          > 
     2173          <Tool 
     2174            Name="VCCLCompilerTool" 
     2175            UsePrecompiledHeader="0" 
     2176          /> 
     2177        </FileConfiguration> 
     2178        <FileConfiguration 
     2179          Name="Debug-MemCheck|x64" 
     2180          > 
     2181          <Tool 
     2182            Name="VCCLCompilerTool" 
     2183            UsePrecompiledHeader="0" 
     2184          /> 
     2185        </FileConfiguration> 
     2186        <FileConfiguration 
     2187          Name="OP5|Win32" 
     2188          > 
     2189          <Tool 
     2190            Name="VCCLCompilerTool" 
     2191            UsePrecompiledHeader="0" 
     2192          /> 
     2193        </FileConfiguration> 
     2194        <FileConfiguration 
     2195          Name="OP5|x64" 
     2196          > 
     2197          <Tool 
     2198            Name="VCCLCompilerTool" 
     2199            UsePrecompiledHeader="0" 
     2200          /> 
     2201        </FileConfiguration> 
     2202      </File> 
     2203      <File 
    20032204        RelativePath=".\include\NSCHelper.cpp" 
    20042205        > 
     
    36773878      </File> 
    36783879    </Filter> 
     3880    <File 
     3881      RelativePath=".\include\breakpad\exception_handler_win32.ccp" 
     3882      > 
     3883    </File> 
    36793884    <File 
    36803885      RelativePath=".\NSClient++.manifest" 
  • NSClient++.cpp

    r9661f81 r41ca52e  
    2424#include <Userenv.h> 
    2525#include <remote_processes.hpp> 
     26#include <file_helpers.hpp> 
    2627#include <Lmcons.h> 
    2728//#ifdef DEBUG 
    2829#include <crtdbg.h> 
    2930//#endif 
     31#ifdef USE_BREAKPAD 
     32#include <breakpad/exception_handler_win32.hpp> 
     33// Used for breakpad crash handling 
     34static ExceptionManager *g_exception_manager = NULL; 
     35#endif 
    3036 
    3137NSClient mainClient(SZSERVICENAME); // Global core instance. 
     
    550556bool NSClientT::initCore(bool boot, std::wstring module) { 
    551557  LOG_DEBUG(_T("Attempting to start NSCLient++ - " SZVERSION)); 
     558  std::wstring appRoot = file_helpers::folders::get_local_appdata_folder(SZAPPNAME); 
    552559  try { 
    553560    Settings::getInstance()->setFile(getBasePath(), _T("NSC.ini")); 
     
    565572    return false; 
    566573  } 
     574 
     575#ifdef USE_BREAKPAD 
     576  if (!g_exception_manager) { 
     577    g_exception_manager = new ExceptionManager(false); 
     578 
     579    g_exception_manager->setup_app(SZSERVICENAME, STRPRODUCTVER, STRPRODUCTDATE); 
     580 
     581    if (Settings::getInstance()->getInt(CRASH_SECTION_TITLE, CRASH_RESTART, CRASH_RESTART_DEFAULT)==1) 
     582      g_exception_manager->setup_restart(Settings::getInstance()->getString(CRASH_SECTION_TITLE, CRASH_RESTART_NAME, SZSERVICENAME)); 
     583 
     584    bool crashHandling = false; 
     585    if (Settings::getInstance()->getInt(CRASH_SECTION_TITLE, CRASH_SUBMIT, CRASH_SUBMIT_DEFAULT)==1) { 
     586      std::wstring crashUrl = Settings::getInstance()->getString(CRASH_SECTION_TITLE, CRASH_SUBMIT_URL, CRASH_SUBMIT_URL_DEFAULT); 
     587      g_exception_manager->setup_submit(false, crashUrl); 
     588      NSC_DEBUG_MSG(_T("Submitting crash dumps to central server: ") + crashUrl); 
     589      crashHandling = true; 
     590    } 
     591    if (Settings::getInstance()->getInt(CRASH_SECTION_TITLE, CRASH_ARCHIVE, CRASH_ARCHIVE_DEFAULT)==1) { 
     592      std::wstring crashFolder = Settings::getInstance()->getString(CRASH_SECTION_TITLE, CRASH_ARCHIVE_FOLDER, file_helpers::folders::get_subfolder(appRoot, _T("crash dumps"))); 
     593      g_exception_manager->setup_archive(crashFolder); 
     594      NSC_DEBUG_MSG(_T("Archiving crash dumps in: ") + crashFolder); 
     595      crashHandling = true; 
     596    } 
     597    if (!crashHandling) { 
     598      NSC_LOG_ERROR(_T("No crash handling configured")); 
     599    } 
     600    g_exception_manager->StartMonitoring(); 
     601  } 
     602#else 
     603  LOG_ERROR_STD(_T("Warning Not compiled with breakpad support!")); 
     604#endif 
    567605 
    568606  if (enable_shared_session_) { 
  • build.bat

    r9bb220f r41ca52e  
    22@call env.bat 
    33 
    4 echo :: %jam% --toolset=msvc --with-lua=%LUA_SOURCE% --with-openssl --include-path=%NSCP_INCLUDE% --with-boost --with-cryptopp=%CRYPTOPP_SOURCE% runtime-link=static warnings=off --with-psdk="%PLATTFORM_SDK_INCLUDE%" %* build-binaries >> build.log 
    5         %jam% --toolset=msvc --with-lua=%LUA_SOURCE% --with-openssl --include-path=%NSCP_INCLUDE% --with-boost --with-cryptopp=%CRYPTOPP_SOURCE% runtime-link=static warnings=off --with-psdk="%PLATTFORM_SDK_INCLUDE%" %* build-binaries 
     4echo :: %jam% --toolset=msvc --with-lua=%LUA_SOURCE% --with-openssl --include-path=%NSCP_INCLUDE% --with-boost --with-cryptopp=%CRYPTOPP_SOURCE% runtime-link=static warnings=off "--with-psdk=%PLATTFORM_SDK_INCLUDE%" "--with-breakpad=%GOOGLE_BREAKPAD_INCLUDE%" %* build-binaries >> build.log 
     5        %jam% --toolset=msvc --with-lua=%LUA_SOURCE% --with-openssl --include-path=%NSCP_INCLUDE% --with-boost --with-cryptopp=%CRYPTOPP_SOURCE% runtime-link=static warnings=off "--with-psdk=%PLATTFORM_SDK_INCLUDE%" "--with-breakpad=%GOOGLE_BREAKPAD_INCLUDE%" %* build-binaries 
    66if %ERRORLEVEL% == 1 goto :error 
    77echo :: Result: %ERRORLEVEL% >> build.log 
  • changelog

    r1d6bb09 r41ca52e  
    66 * Fix depend onservice LanManWorkStation (old win) 
    77 * Fix RtlStringFromGUID problem on NT4 
    8   
     8 
     92010-12-26 MickeM 
     10 * Improved crash reporter to support BOTH archive and send. 
     11 * Improved crash reporter to archive under APPDATA (Local Settings/NSClient++/crash dumps) 
     12 * Started on the new CheckNSCP (internal health plugin) 
     13 * Added a "text description" file to crash dump folder to see which version crashed and what not. 
     14 * General improvments to the crash helper. 
     15 * Added check_nscp which is a basic command to check the internal health of NSClient++ 
     16 
     172010-12-25 MickeM 
     18 * Fixed issue with performance coutners and erroneouse pointers in some rare cases. 
     19   (Thank you google breakpad) 
     20 * Added date to crash reports (to make it simpler to find correct symbols) 
     21  
     222010-12-14 MickeM 
     23 * CheckEventLog: Fixed so type can be compared to various string keys: error, warning, info, auditSuccess, auditFailure 
     24 * CheckEventLog: Fixed so invalid parses are reported better (check the "rest" buffer) 
     25    CheckEventLog file=Application "filter=generated gt -600m AND message LIKE 'Click2Run'" ... 
     26    WARNING:Parsing failed: AND message LIKE 'Click2Run' 
     27 * CheckEventLog: Added support for "not like" operator. 
     28    CheckEventLog file=Application "filter=generated gt -600m AND message not like 'Click2Run'" ... 
     29 * CrashHandler: Added several options to the crash handler (so it can be configurable) 
     30    Everything reside under the [crash] sectiuon and the avalible keys are: 
     31     * restart=1 # if we shall restart the service when a crash is detected. 
     32     * service_name=<name of service to restart> 
     33     * submit=0 # if we shall submit crash reports to crash.nsclient.org 
     34     * url=http://crash.nsclient.org/submit 
     35     * archive=1 # Archive crashdumps 
     36     * folder=<appfolder>/dumps 
     37  
     382010-12-13 MickeM 
     39 + Added not responding detection to CheckProcState 
     40   All "hung" processes will be considerd "hung" (and not started/stopped) 
     41   When process is "not hung" (badapp.exe) 
     42    CheckProcState quake.exe=stopped badapp.exe=started notepad++.exe=started 
     43     OK:OK: All processes are running. 
     44    CheckProcState quake.exe=stopped badapp.exe=hung notepad++.exe=started 
     45     CRITICAL:CRITICAL: BadApp.exe: started (critical) 
     46   Where as when it is hung: 
     47    CheckProcState quake.exe=stopped badapp.exe=started notepad++.exe=started 
     48     CRITICAL:CRITICAL: BadApp.exe: hung (critical) 
     49    CheckProcState quake.exe=stopped badapp.exe=hung notepad++.exe=started 
     50     OK:OK: All processes are running. 
     51    
     522010-12-12 MickeM 
     53 + Added initial support for google breakpad 
     54   This means if nsclient++ crash two things will happen now. 
     55   1. Crash reports will be sent to crash.nsclient.org (this will be optionalin the near future) 
     56   2. service will restart 
     57   You can try this out in /test mode using the "assert" command. 
     58    
    9592010-11-14 MickeM 
    1060 * Added the "extended NRPE payload packet patch" 
  • env.bat

    r9bb220f r41ca52e  
    8181rem # 
    8282rem # 
     83 
     84SET GOOGLE_BREAKPAD_INCLUDE=C:\source\google-breakpad\trunk\src 
     85 
    8386SET ZIP7_PATH=C:\Program Files\7-Zip 
    8487SET PERL_PATH=C:\Perl64\bin 
  • helpers/installer/Product.wxs

    r1d6bb09 r41ca52e  
    9898                          IconIndex="0" Description="Start the $(var.App.Title) systemtray agent"/> 
    9999              </File> 
     100              <File Id="NSClientErrorReporter" Name="reporter.exe" DiskId="1" Source="$(var.Source)/reporter.exe" Vital="yes" /> 
    100101               
    101102              <File Id="NSClientINI" Name="NSC.ini" LongName="NSC.ini" DiskId="1" Source="$(var.Path.ini)/NSC.ini" Vital="yes"/> 
  • include/EnumProcess.cpp

    rb39c1f3 r41ca52e  
    159159      continue; 
    160160    CProcessEntry entry; 
     161    entry.hung = false; 
    161162    try { 
    162       if (error_interface!=NULL) 
    163         error_interface->report_debug_enter(_T("describe_pid")); 
     163//      if (error_interface!=NULL) 
     164//        error_interface->report_debug_enter(_T("describe_pid")); 
    164165      try { 
    165166        entry = describe_pid(dwPIDs[i], expand_command_line); 
     
    169170        entry = describe_pid(dwPIDs[i], false); 
    170171      } 
    171       if (error_interface!=NULL) 
    172         error_interface->report_debug_exit(_T("describe_pid")); 
     172//      if (error_interface!=NULL) 
     173//        error_interface->report_debug_exit(_T("describe_pid")); 
    173174      if (VDMDBG!=NULL&&find_16bit) { 
    174175        if (error_interface!=NULL) 
     
    184185    } catch (process_enumeration_exception &e) { 
    185186      if (error_interface!=NULL) 
    186         error_interface->report_error(_T("Unhandled exception describing PID: ") + strEx::itos(dwPIDs[i]) + _T(": ") + e.what()); 
     187        error_interface->report_error(_T("Unhandeled exception describing PID: ") + strEx::itos(dwPIDs[i]) + _T(": ") + e.what()); 
    187188    } catch (...) { 
    188189      if (error_interface!=NULL) 
     
    190191    } 
    191192  } 
     193 
     194  std::vector<DWORD> hung_pids = find_crashed_pids(error_interface); 
     195  for (process_list::iterator entry = ret.begin(); entry != ret.end(); ++entry) { 
     196    if (std::find(hung_pids.begin(), hung_pids.end(), entry->dwPID) != hung_pids.end()) 
     197      (*entry).hung = true; 
     198    else 
     199      (*entry).hung = false; 
     200  } 
     201 
    192202  delete [] dwPIDs; 
    193203  if (error_interface!=NULL) 
    194204    error_interface->report_debug_exit(_T("enumerate_processes")); 
    195205  return ret; 
     206} 
     207 
     208struct enum_data { 
     209  CEnumProcess::error_reporter * error_interface; 
     210  std::vector<DWORD> crashed_pids; 
     211 
     212}; 
     213 
     214BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam ) { 
     215  enum_data *data = reinterpret_cast<enum_data*>(lParam); 
     216  DWORD pid; 
     217  GetWindowThreadProcessId(hwnd, &pid); 
     218  if (GetWindow(hwnd, GW_OWNER) != NULL) 
     219    return TRUE; 
     220  PDWORD result; 
     221  if (!SendMessageTimeout(hwnd, WM_NULL, 0, 0, SMTO_ABORTIFHUNG, 500, reinterpret_cast<PDWORD_PTR>(&result))) { 
     222    if (data->error_interface!=NULL) 
     223      data->error_interface->report_debug(_T("pid: ") + strEx::itos(pid) + _T(" was hung")); 
     224    data->crashed_pids.push_back(pid); 
     225  } 
     226 
     227//  TCHAR *buffer = new TCHAR[1024]; 
     228//  int len = GetWindowText(hwnd, buffer, 1023); 
     229//  buffer[30] = 0; 
     230//  if (data->error_interface!=NULL) 
     231//    data->error_interface->report_debug(_T("pid: ") + res + strEx::itos(pid) + _T(" - ") + strEx::itos(len) + _T(" - ") + buffer); 
     232//  //std::wcout << _T("pid: ") << pid << _T(" - ") << len << _T(" : ") << buffer << std::endl; 
     233//  delete [] buffer; 
     234  return TRUE; 
     235} 
     236 
     237std::vector<DWORD> CEnumProcess::find_crashed_pids(CEnumProcess::error_reporter * error_interface) { 
     238  if (error_interface) 
     239    error_interface->report_debug_enter(_T("find_crashed_pids")); 
     240  enum_data data; 
     241  data.error_interface = error_interface; 
     242  if(!EnumWindows(&EnumWindowsProc, reinterpret_cast<LPARAM>(&data))) { 
     243    if (error_interface) 
     244      error_interface->report_error(_T("Failed to enumerate windows: ") + error::lookup::last_error()); 
     245  } 
     246  if (error_interface) 
     247    error_interface->report_debug_exit(_T("find_crashed_pids")); 
     248  return data.crashed_pids; 
    196249} 
    197250 
     
    227280    } 
    228281  } 
     282 
    229283  CloseHandle(hProc); 
    230284  return entry; 
  • include/EnumProcess.h

    rb39c1f3 r41ca52e  
    8585    std::wstring command_line; 
    8686    DWORD  dwPID; 
     87    bool hung; 
    8788  }; 
    8889 
     
    108109  void enable_token_privilege(LPTSTR privilege); 
    109110  void disable_token_privilege(LPTSTR privilege); 
     111  std::vector<DWORD> find_crashed_pids(CEnumProcess::error_reporter * error_interface); 
    110112  bool has_PSAPI() { 
    111113    return PSAPI != NULL; 
  • include/checkHelpers.hpp

    rb6d6f90 r41ca52e  
    514514  const int state_stopped   = 0x02; 
    515515  const int state_not_found = 0x06; 
     516  const int state_hung      = 0x0e; 
    516517 
    517518  class state_handler { 
     
    529530        else if (*it == _T("not found")) 
    530531          ret |= state_not_found; 
     532        else if (*it == _T("hung")) 
     533          ret |= state_hung; 
    531534      } 
    532535      return ret; 
     
    541544      else if (value == state_not_found) 
    542545        return _T("not found"); 
     546      else if (value == state_hung) 
     547        return _T("hung"); 
    543548      return _T("unknown"); 
    544549    } 
  • include/config.h

    r1d6bb09 r41ca52e  
    229229#define LOG_ROOT_DEFAULT _T("exe") 
    230230 
     231 
     232// CRash settings 
     233#define CRASH_SECTION_TITLE _T("crash") 
     234#define CRASH_RESTART _T("restart") 
     235#define CRASH_RESTART_DEFAULT 1 
     236#define CRASH_RESTART_NAME _T("service_name") 
     237 
     238#define CRASH_SUBMIT _T("submit") 
     239#define CRASH_SUBMIT_DEFAULT 0 
     240#define CRASH_SUBMIT_URL _T("url") 
     241#define CRASH_SUBMIT_URL_DEFAULT _T("http://crash.nsclient.org/submit") 
     242 
     243#define CRASH_ARCHIVE _T("archive") 
     244#define CRASH_ARCHIVE_DEFAULT 1 
     245#define CRASH_ARCHIVE_FOLDER _T("folder") 
     246 
    231247// Main Settings 
    232248#define MAIN_SECTION_TITLE _T("Settings") 
  • include/file_helpers.hpp

    r1b3afb4 r41ca52e  
    6666      return pattern.first + _T("\\") + pattern.second; 
    6767    } 
     68  }; 
     69 
     70  class folders { 
     71#ifndef CSIDL_COMMON_APPDATA  
     72#define CSIDL_COMMON_APPDATA 0x0023  
     73#define CSIDL_LOCAL_APPDATA  0x001c 
     74#endif 
     75    typedef BOOL (WINAPI *fnSHGetSpecialFolderPath)(HWND hwndOwner, LPTSTR lpszPath, int nFolder, BOOL fCreate); 
     76    static BOOL WINAPI _SHGetSpecialFolderPath(HWND hwndOwner, LPTSTR lpszPath, int nFolder, BOOL fCreate) { 
     77      static fnSHGetSpecialFolderPath __SHGetSpecialFolderPath = NULL; 
     78      if (!__SHGetSpecialFolderPath) { 
     79        HMODULE hDLL = LoadLibrary(_T("shell32.dll")); 
     80        if (hDLL != NULL) {  
     81          __SHGetSpecialFolderPath = (fnSHGetSpecialFolderPath)GetProcAddress(hDLL,"SHGetSpecialFolderPathW"); 
     82        } 
     83      } 
     84      if(__SHGetSpecialFolderPath) 
     85        return __SHGetSpecialFolderPath(hwndOwner, lpszPath, nFolder, fCreate); 
     86      return FALSE; 
     87    } 
     88  public: 
     89    static inline std::wstring get_folder(int folderId) { 
     90      TCHAR buf[MAX_PATH+1]; 
     91      if (!_SHGetSpecialFolderPath(NULL, buf, folderId, FALSE)) { 
     92        return _T(""); 
     93      } 
     94      return buf; 
     95    } 
     96 
     97    static std::wstring get_local_appdata() { 
     98      return get_folder(CSIDL_LOCAL_APPDATA); 
     99    } 
     100 
     101    static std::wstring get_local_appdata_folder(std::wstring pathname) { 
     102      return get_subfolder(file_helpers::folders::get_local_appdata(), pathname); 
     103    } 
     104    static std::wstring get_local_appdata_file(std::wstring pathname, std::wstring filename) { 
     105      return get_local_appdata_folder(pathname) + _T("\\") + filename; 
     106    } 
     107 
     108    static std::wstring get_subfolder(std::wstring root, std::wstring folder) { 
     109      std::wstring path = root + _T("\\") + folder; 
     110      if (!file_helpers::checks::exists(path)) { 
     111        if (_wmkdir(path.c_str()) != 0) 
     112          return _T(""); 
     113      } 
     114      return path; 
     115    } 
    68116 
    69117 
  • include/file_logger.hpp

    rb1ac2fa r41ca52e  
    66#include <string> 
    77 
     8#include <file_helpers.hpp> 
     9 
    810 
    911namespace simple_file { 
    10  
    11 #ifndef CSIDL_COMMON_APPDATA  
    12 #define CSIDL_COMMON_APPDATA 0x0023  
    13 #define CSIDL_LOCAL_APPDATA  0x001c 
    14 #endif 
    15   typedef BOOL (WINAPI *fnSHGetSpecialFolderPath)(HWND hwndOwner, LPTSTR lpszPath, int nFolder, BOOL fCreate); 
    16     static BOOL WINAPI _SHGetSpecialFolderPath(HWND hwndOwner, LPTSTR lpszPath, int nFolder, BOOL fCreate) { 
    17       static fnSHGetSpecialFolderPath __SHGetSpecialFolderPath = NULL; 
    18       if (!__SHGetSpecialFolderPath) { 
    19         HMODULE hDLL = LoadLibrary(_T("shell32.dll")); 
    20         if (hDLL != NULL) {  
    21           __SHGetSpecialFolderPath = (fnSHGetSpecialFolderPath)GetProcAddress(hDLL,"SHGetSpecialFolderPathW"); 
    22         } 
    23       } 
    24       if(__SHGetSpecialFolderPath) 
    25         return __SHGetSpecialFolderPath(hwndOwner, lpszPath, nFolder, fCreate); 
    26       return FALSE; 
    27     } 
    28  
    2912 
    3013  class file_appender { 
     
    4730    } 
    4831    std::wstring getFileName(std::wstring pathname, std::wstring filename) { 
    49       if (file_.empty()) { 
    50         std::wstring path = getFolder() + _T("\\") + pathname; 
    51         if (!directoryExists(path)) { 
    52           if (_wmkdir(path.c_str()) != 0) 
    53             return _T(""); 
    54         } 
    55         file_ = path + _T("\\") + filename; 
    56       } 
     32      if (file_.empty())  
     33        file_ = file_helpers::folders::get_local_appdata_file(pathname, filename); 
    5734      return file_; 
    5835    } 
    5936  private: 
    60     inline std::wstring getFolder() { 
    61       TCHAR buf[MAX_PATH+1]; 
    62       if (!_SHGetSpecialFolderPath(NULL, buf, CSIDL_LOCAL_APPDATA, FALSE)) { 
    63         return _T("") + error::lookup::last_error(); 
    64       } 
    65       return buf; 
    66     } 
    67     bool directoryExists(std::wstring path) { 
    68       DWORD dwAtt = ::GetFileAttributes(path.c_str()); 
    69       if (dwAtt == INVALID_FILE_ATTRIBUTES) { 
    70         return false; 
    71       } else if ((dwAtt&FILE_ATTRIBUTE_DIRECTORY)==FILE_ATTRIBUTE_DIRECTORY) { 
    72         return true; 
    73       } 
    74       return false; 
    75     } 
     37 
    7638 
    7739    HANDLE openAppendOrNew(std::wstring file) { 
  • include/parsers/ast.hpp

    r9661f81 r41ca52e  
    3939 
    4040    enum operators { 
    41       op_eq, op_le, op_lt, op_gt, op_ge, op_ne, op_in, op_nin, op_or, op_and, op_inv, op_not, op_like 
     41      op_eq, op_le, op_lt, op_gt, op_ge, op_ne, op_in, op_nin, op_or, op_and, op_inv, op_not, op_like, op_not_like 
    4242    }; 
    4343 
  • include/parsers/eval.hpp

    r9661f81 r41ca52e  
    114114            return s1.find(s2) != std::wstring::npos; 
    115115          return s2.find(s1) != std::wstring::npos; 
     116          //if (res) 
     117          //  std::wcout << _T("Found: ") << s1 << _T(" in ") << s2 << std::endl; 
     118          return res; 
     119        }; 
     120      }; 
     121      template<typename THandler> 
     122      struct operator_not_like : public simple_bool_binary_operator_impl<THandler> { 
     123        bool eval_int(value_type type, THandler &handler, const expression_ast<THandler> &left, const expression_ast<THandler> & right) const { 
     124          return false; 
     125        } 
     126        bool eval_string(value_type type, THandler &handler, const expression_ast<THandler> &left, const expression_ast<THandler> & right) const {  
     127          std::wstring s1 = left.get_string(handler); 
     128          std::wstring s2 = right.get_string(handler); 
     129          bool res; 
     130          if (s1.size() > s2.size() && s2.size() > 0) 
     131            return s1.find(s2) == std::wstring::npos; 
     132          return s2.find(s1) == std::wstring::npos; 
    116133          //if (res) 
    117134          //  std::wcout << _T("Found: ") << s1 << _T(" in ") << s2 << std::endl; 
     
    295312      if (op == op_like) 
    296313        return bin_op_type(new operator_impl::operator_like<THandler>()); 
     314      if (op == op_not_like) 
     315        return bin_op_type(new operator_impl::operator_not_like<THandler>()); 
    297316 
    298317      if (op == op_and) 
  • include/parsers/grammar.cpp

    re7df8e7 r41ca52e  
    11#include <parsers/grammar.hpp> 
     2#include <iostream> 
     3#include <fstream> 
     4 
    25 
    36namespace qi = boost::spirit::qi; 
    47namespace ascii = boost::spirit::ascii; 
     8namespace phoenix = boost::phoenix; 
    59 
    610namespace parsers { 
     
    158162          | qi::lit("gt")                   [_val = op_gt] 
    159163          | qi::lit("like")                 [_val = op_like] 
     164          | qi::lit("not like")               [_val = op_not_like] 
    160165          ; 
    161166 
     
    176181              >> ')']  
    177182          ; 
     183 
     184//          qi::on_error<qi::fail>( expression , std::wcout 
     185//            << phoenix::val(_T("Error! Expecting ")) 
     186//            << _4                               // what failed? 
     187//            << phoenix::val(_T(" here: \"")) 
     188//            << phoenix::construct<std::wstring>(_3, _2)   // iterators to error-pos, end 
     189//            << phoenix::val(_T("\"")) 
     190//            << std::endl 
     191//); 
     192//          qi::on_error<qi::fail>( expression , std::cout 
     193//            << phoenix::val("Error! Expecting ") 
     194//            << _4                               // what failed? 
     195//            << phoenix::val(" here: \"") 
     196//            << phoenix::construct<std::string>(_3, _2)   // iterators to error-pos, end 
     197//            << phoenix::val("\"") 
     198//            << std::endl 
     199//            ); 
     200 
     201      //        << ("Error! Expecting ") 
     202      //        << _4                               // what failed? 
     203      //        << (" here: \"") 
     204      //        << construct<std::string>(_3, _2)   // iterators to error-pos, end 
     205      //        << ("\"") 
     206//      << std::endl 
     207 
    178208    } 
    179209 
  • include/parsers/where.cpp

    r9661f81 r41ca52e  
    258258      iterator_type iter = expr.begin(); 
    259259      iterator_type end = expr.end(); 
    260       if (phrase_parse(iter, end, calc, ascii::space, resulting_tree)) 
    261         return true; 
     260      if (phrase_parse(iter, end, calc, ascii::space, resulting_tree)) { 
     261        rest = std::wstring(iter, end); 
     262        return rest.empty(); 
     263        //std::wcout<< _T("Rest: ") << rest << std::endl; 
     264        //return true; 
     265      } 
    262266      rest = std::wstring(iter, end); 
     267      //std::wcout << _T("Rest: ") << rest << std::endl; 
    263268      return false; 
    264269    } 
  • include/pdh/collectors.hpp

    r42ff14d r41ca52e  
    125125    const PDH::PDHCounter *parent_; 
    126126  public: 
    127     StaticPDHCounterListener() : value_(0), hasValue_(false) {} 
     127    StaticPDHCounterListener() : value_(0), hasValue_(false), parent_(NULL) {} 
    128128    virtual void collect(const PDH::PDHCounter &counter) { 
    129129      PDHCounterMutexHandler mutex(&mutex_); 
     
    161161    const PDH::PDHCounter *parent_; 
    162162  public: 
    163     StaticPDHCounterListener() : value_(0), hasValue_(false) {} 
     163    StaticPDHCounterListener() : value_(0), hasValue_(false), parent_(NULL) {} 
    164164    virtual void collect(const PDH::PDHCounter &counter) { 
    165165      PDHCounterMutexHandler mutex(&mutex_); 
     
    197197    const PDH::PDHCounter *parent_; 
    198198  public: 
    199     StaticPDHCounterListener() : value_(0), hasValue_(false) {} 
     199    StaticPDHCounterListener() : value_(0), hasValue_(false), parent_(NULL) {} 
    200200    virtual void collect(const PDH::PDHCounter &counter) { 
    201201      PDHCounterMutexHandler mutex(&mutex_); 
     
    236236    const PDH::PDHCounter *parent_; 
    237237  public: 
    238     RoundINTPDHBufferListenerImpl() : buffer(NULL), length(0), current(0), hasValue_(false) {} 
    239     RoundINTPDHBufferListenerImpl(int length_) : length(length_), current(0), hasValue_(false) { 
     238    RoundINTPDHBufferListenerImpl() : buffer(NULL), length(0), current(0), hasValue_(false), parent_(NULL) {} 
     239    RoundINTPDHBufferListenerImpl(int length_) : length(length_), current(0), hasValue_(false), parent_(NULL) { 
    240240      PDHCounterMutexHandler mutex(mutex_); 
    241241      if (!mutex.hasLock()) 
  • modules/CheckEventLog/CheckEventLog.cpp

    rb6d6f90 r41ca52e  
    6565      error_type errors; 
    6666      static const parsers::where::value_type type_custom_severity = parsers::where::type_custom_int_1; 
     67      static const parsers::where::value_type type_custom_type = parsers::where::type_custom_int_2; 
    6768      EventLogRecord *record; 
    6869      type_obj() : record(NULL) { 
     
    7273          (_T("id"), (type_int)) 
    7374          (_T("source"), (type_string)) 
    74           (_T("type"), (type_int)) 
     75          (_T("type"), (type_custom_type)) 
    7576          (_T("severity"), (type_custom_severity)) 
    7677          (_T("message"), (type_string)) 
     
    9192      bool can_convert(parsers::where::value_type from, parsers::where::value_type to) { 
    9293        if ((from == parsers::where::type_string)&&(to == type_custom_severity)) 
     94          return true; 
     95        if ((from == parsers::where::type_string)&&(to == type_custom_type)) 
    9396          return true; 
    9497        return false; 
     
    159162        if (to == type_custom_severity) 
    160163          return true; 
     164        if (to == type_custom_type) 
     165          return true; 
    161166        return false; 
    162167      } 
     
    165170        if (to == type_custom_severity) 
    166171          ret = &type_obj::fun_convert_severity; 
     172        if (to == type_custom_type) 
     173          ret = &type_obj::fun_convert_type; 
    167174        return ret; 
    168175      } 
     
    170177      parsers::where::expression_ast<type_obj> fun_convert_severity(parsers::where::value_type target_type, parsers::where::expression_ast<type_obj> const& subject) { 
    171178        return parsers::where::expression_ast<type_obj>(parsers::where::int_value(convert_severity(subject.get_string(*this)))); 
     179      } 
     180      parsers::where::expression_ast<type_obj> fun_convert_type(parsers::where::value_type target_type, parsers::where::expression_ast<type_obj> const& subject) { 
     181        return parsers::where::expression_ast<type_obj>(parsers::where::int_value(convert_type(subject.get_string(*this)))); 
    172182      } 
    173183      int convert_severity(std::wstring str) { 
     
    183193        return strEx::stoi(str); 
    184194      } 
    185  
     195      int convert_type(std::wstring str) { 
     196        if (str == _T("error")) 
     197          return EVENTLOG_ERROR_TYPE; 
     198        if (str == _T("warning")) 
     199          return EVENTLOG_WARNING_TYPE; 
     200        if (str == _T("info")) 
     201          return EVENTLOG_INFORMATION_TYPE; 
     202        if (str == _T("auditSuccess")) 
     203          return EVENTLOG_AUDIT_SUCCESS; 
     204        if (str == _T("auditFailure")) 
     205          return EVENTLOG_AUDIT_FAILURE; 
     206        return strEx::stoi(str); 
     207      } 
    186208 
    187209      std::wstring get_error() { 
  • modules/CheckSystem/CheckSystem-2005.vcproj

    rd1029bd r41ca52e  
    27242724      </File> 
    27252725      <File 
    2726         RelativePath="..\..\include\pdh\single_threaded_impl.hpp" 
     2726        RelativePath="..\..\include\pdh\thread_safe_impl.hpp" 
    27272727        > 
    27282728      </File> 
  • modules/CheckSystem/CheckSystem.cpp

    rb6d6f90 r41ca52e  
    784784typedef struct NSPROCDATA__ { 
    785785  unsigned int count; 
     786  unsigned int hung_count; 
    786787  CEnumProcess::CProcessEntry entry; 
    787788  std::wstring key; 
    788789 
    789   NSPROCDATA__() : count(0) {} 
    790   NSPROCDATA__(const NSPROCDATA__ &other) : count(other.count), entry(other.entry), key(other.key) {} 
     790  NSPROCDATA__() : count(0), hung_count(0) {} 
     791  NSPROCDATA__(const NSPROCDATA__ &other) : count(other.count), hung_count(other.hung_count), entry(other.entry), key(other.key) {} 
    791792} NSPROCDATA; 
    792793typedef std::map<std::wstring,NSPROCDATA,strEx::case_blind_string_compare> NSPROCLST; 
     
    836837      ret[key].entry = (*entry); 
    837838      ret[key].count = 1; 
     839      ret[key].hung_count = (*entry).hung?1:0; 
    838840      ret[key].key = key; 
    839     } else 
     841    } else { 
     842      if ((*entry).hung)  
     843        (*it).second.hung_count++; 
    840844      (*it).second.count++; 
     845    } 
    841846  } 
    842847  return ret; 
     
    971976      checkHolders::MaxMinStateValueType<int, checkHolders::state_type> value; 
    972977      if (bFound) { 
    973         value.count = (*proc).second.count; 
    974         value.state = checkHolders::state_started; 
     978        if ((*proc).second.hung_count > 0) { 
     979          NSC_LOG_ERROR_STD(_T("Hung proc: ") + strEx::itos((*proc).second.hung_count)); 
     980          value.count = (*proc).second.count; 
     981          value.state = checkHolders::state_hung; 
     982        } else { 
     983          value.count = (*proc).second.count; 
     984          value.state = checkHolders::state_started; 
     985        } 
    975986      } else { 
    976987        value.count = 0; 
  • modules/DebugLogMetrics/DebugLogMetrics.cpp

    rb1ac2fa r41ca52e  
    3939 
    4040bool DebugLogMetrics::loadModule() { 
    41   timeout = NSCModuleHelper::getSettingsInt(EXTSCRIPT_SECTION_TITLE, EXTSCRIPT_SETTINGS_TIMEOUT ,EXTSCRIPT_SETTINGS_TIMEOUT_DEFAULT); 
    42   scriptDirectory_ = NSCModuleHelper::getSettingsString(EXTSCRIPT_SECTION_TITLE, EXTSCRIPT_SETTINGS_SCRIPTDIR ,EXTSCRIPT_SETTINGS_SCRIPTDIR_DEFAULT); 
    43   root_ = NSCModuleHelper::getBasePath(); 
     41// timeout = NSCModuleHelper::getSettingsInt(EXTSCRIPT_SECTION_TITLE, EXTSCRIPT_SETTINGS_TIMEOUT ,EXTSCRIPT_SETTINGS_TIMEOUT_DEFAULT); 
     42// scriptDirectory_ = NSCModuleHelper::getSettingsString(EXTSCRIPT_SECTION_TITLE, EXTSCRIPT_SETTINGS_SCRIPTDIR ,EXTSCRIPT_SETTINGS_SCRIPTDIR_DEFAULT); 
     43// root_ = NSCModuleHelper::getBasePath(); 
    4444  pdhThread.createThread(_T("NSClient++")); 
    4545  return true; 
  • modules/DebugLogMetrics/DebugLogMetrics.h

    r3692371 r41ca52e  
    2727class DebugLogMetrics { 
    2828private: 
    29   struct command_data { 
    30     command_data() {} 
    31     command_data(std::wstring command_, std::wstring arguments_) : command(command_), arguments(arguments_) {} 
    32     std::wstring command; 
    33     std::wstring arguments; 
    34   }; 
    35   typedef std::map<strEx::blindstr, command_data> command_list; 
    36   command_list commands; 
    37   command_list alias; 
    38   unsigned int timeout; 
    39   std::wstring scriptDirectory_; 
    40   std::wstring root_; 
     29// struct command_data { 
     30//    command_data() {} 
     31//    command_data(std::wstring command_, std::wstring arguments_) : command(command_), arguments(arguments_) {} 
     32//    std::wstring command; 
     33//    std::wstring arguments; 
     34// }; 
     35// typedef std::map<strEx::blindstr, command_data> command_list; 
     36// command_list commands; 
     37// command_list alias; 
     38// unsigned int timeout; 
     39// std::wstring scriptDirectory_; 
     40// std::wstring root_; 
    4141  PDHCollectorThread pdhThread; 
    4242 
  • modules/DebugLogMetrics/PDHCollector.cpp

    r42ff14d r41ca52e  
    156156      return 0; 
    157157    } 
    158     file_.set_file(_T("nsclient++"),_T("process_info.csv")); 
     158    file_.set_file(SZAPPNAME,_T("process_info.csv")); 
    159159    NSC_DEBUG_MSG_STD(_T("Logging perfoamnce metrics to: ") + file_.getFileName()); 
    160160    PDH::PDHQuery pdh; 
  • modules/NRPEListener/NRPEListener.cpp

    r1d6bb09 r41ca52e  
    412412    return NRPEData(NSCAPI::returnOK, _T("I (") + NSCModuleHelper::getApplicationVersionString() + _T(") seem to be doing fine..."), buffer_length_); 
    413413  } 
     414//  if (cmd.first == _T("__CRASH__")) { 
     415//    int *foo = NULL; 
     416//    *foo = 2; 
     417//  } 
    414418  std::wstring msg, perf; 
    415419 
Note: See TracChangeset for help on using the changeset viewer.