Upgrading TeamPulse to Q3 2010 Problem

4 posts, 0 answers
  1. Derek
    Derek avatar
    4 posts
    Member since:
    Jun 2010

    Posted 24 Nov 2010 Link to this post

    Hi,
    We're encountering an error while upgrading our existing TeamPulse (community edition) installation.  We're trying to upgrade to the latest Q3 2010 however the installer fails each time.

    Presumably upgrading an existing community edition installation is supported? Assuming we get this to eventually work will it upgrade our existing project database or do we have to start all over again?

    Note that after the failed upgrade we no longer have any edition of TeamPulse now working! (We did take a backup of the TeamPulse database prior to the upgrade thankfully!)

    Perhaps you can figure out the problem from the installation log files appended below.

    Any help would be much appreciated.

    Regards

    Derek

    === Verbose logging started: 24/11/2010  16:54:25  Build type: SHIP UNICODE 4.05.6002.00  Calling process: C:\Windows\system32\msiexec.exe ===
    MSI (c) (1C:88) [16:54:25:302]: Resetting cached policy values
    MSI (c) (1C:88) [16:54:25:302]: Machine policy value 'Debug' is 0
    MSI (c) (1C:88) [16:54:25:302]: ******* RunEngine:
               ******* Product: Telerik_TeamPulse_CommunityEdition_Q3_2010.msi
               ******* Action:
               ******* CommandLine: **********
    MSI (c) (1C:88) [16:54:25:314]: Machine policy value 'DisableUserInstalls' is 0
    MSI (c) (1C:88) [16:54:25:321]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3: 2
    MSI (c) (1C:88) [16:54:25:350]: SOFTWARE RESTRICTION POLICY: Verifying package --> 'C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi' against software restriction policy
    MSI (c) (1C:88) [16:54:25:351]: SOFTWARE RESTRICTION POLICY: C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi has a digital signature
    MSI (c) (1C:88) [16:54:25:507]: SOFTWARE RESTRICTION POLICY: C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi is permitted to run at the 'unrestricted' authorization level.
    MSI (c) (1C:88) [16:54:25:512]: Cloaking enabled.
    MSI (c) (1C:88) [16:54:25:512]: Attempting to enable all disabled privileges before calling Install on Server
    MSI (c) (1C:88) [16:54:25:519]: End dialog not enabled
    MSI (c) (1C:88) [16:54:25:519]: Original package ==> C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi
    MSI (c) (1C:88) [16:54:25:519]: Package we're running from ==> C:\Users\ADMINI~1\AppData\Local\Temp\1\bcc43.msi
    MSI (c) (1C:88) [16:54:25:522]: APPCOMPAT: looking for appcompat database entry with ProductCode '{02E84302-F860-462A-BF16-FE2D92A4A06A}'.
    MSI (c) (1C:88) [16:54:25:522]: APPCOMPAT: no matching ProductCode found in database.
    MSI (c) (1C:88) [16:54:25:525]: MSCOREE not loaded loading copy from system32
    MSI (c) (1C:88) [16:54:25:528]: Machine policy value 'TransformsSecure' is 1
    MSI (c) (1C:88) [16:54:25:528]: Machine policy value 'DisablePatch' is 0
    MSI (c) (1C:88) [16:54:25:528]: Machine policy value 'AllowLockdownPatch' is 0
    MSI (c) (1C:88) [16:54:25:528]: Machine policy value 'DisableLUAPatching' is 0
    MSI (c) (1C:88) [16:54:25:528]: Machine policy value 'DisableFlyWeightPatching' is 0
    MSI (c) (1C:88) [16:54:25:528]: Enabling baseline caching for this transaction since all active patches are MSI 3.0 style MSPs or at least one MSI 3.0 minor update patch is active
    MSI (c) (1C:88) [16:54:25:528]: APPCOMPAT: looking for appcompat database entry with ProductCode '{02E84302-F860-462A-BF16-FE2D92A4A06A}'.
    MSI (c) (1C:88) [16:54:25:528]: APPCOMPAT: no matching ProductCode found in database.
    MSI (c) (1C:88) [16:54:25:528]: Transforms are not secure.
    MSI (c) (1C:88) [16:54:25:529]: PROPERTY CHANGE: Adding MsiLogFileLocation property. Its value is 'C:\teampulselog.txt'.
    MSI (c) (1C:88) [16:54:25:529]: Command Line: CURRENTDIRECTORY=C:\ CLIENTUILEVEL=0 CLIENTPROCESSID=3612
    MSI (c) (1C:88) [16:54:25:529]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{99765709-1FEF-4648-A08B-9B16F74CFA8D}'.
    MSI (c) (1C:88) [16:54:25:529]: Product Code passed to Engine.Initialize:           ''
    MSI (c) (1C:88) [16:54:25:529]: Product Code from property table before transforms: '{02E84302-F860-462A-BF16-FE2D92A4A06A}'
    MSI (c) (1C:88) [16:54:25:529]: Product Code from property table after transforms:  '{02E84302-F860-462A-BF16-FE2D92A4A06A}'
    MSI (c) (1C:88) [16:54:25:529]: Product not registered: beginning first-time install
    MSI (c) (1C:88) [16:54:25:529]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
    MSI (c) (1C:88) [16:54:25:529]: Entering CMsiConfigurationManager::SetLastUsedSource.
    MSI (c) (1C:88) [16:54:25:529]: User policy value 'SearchOrder' is 'nmu'
    MSI (c) (1C:88) [16:54:25:529]: Adding new sources is allowed.
    MSI (c) (1C:88) [16:54:25:529]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
    MSI (c) (1C:88) [16:54:25:529]: Package name extracted from package path: 'Telerik_TeamPulse_CommunityEdition_Q3_2010.msi'
    MSI (c) (1C:88) [16:54:25:529]: Package to be registered: 'Telerik_TeamPulse_CommunityEdition_Q3_2010.msi'
    MSI (c) (1C:88) [16:54:25:530]: Note: 1: 2262 2: AdminProperties 3: -2147287038
    MSI (c) (1C:88) [16:54:25:530]: Machine policy value 'DisableMsi' is 1
    MSI (c) (1C:88) [16:54:25:530]: Machine policy value 'AlwaysInstallElevated' is 0
    MSI (c) (1C:88) [16:54:25:530]: User policy value 'AlwaysInstallElevated' is 0
    MSI (c) (1C:88) [16:54:25:530]: Running product '{02E84302-F860-462A-BF16-FE2D92A4A06A}' with user privileges: It's not assigned.
    MSI (c) (1C:88) [16:54:25:530]: PROPERTY CHANGE: Adding CURRENTDIRECTORY property. Its value is 'C:\'.
    MSI (c) (1C:88) [16:54:25:530]: PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '0'.
    MSI (c) (1C:88) [16:54:25:530]: PROPERTY CHANGE: Adding CLIENTPROCESSID property. Its value is '3612'.
    MSI (c) (1C:88) [16:54:25:530]: TRANSFORMS property is now:
    MSI (c) (1C:88) [16:54:25:530]: PROPERTY CHANGE: Adding VersionDatabase property. Its value is '200'.
    MSI (c) (1C:88) [16:54:25:530]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Favorites
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Documents
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo
    MSI (c) (1C:88) [16:54:25:531]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates
    MSI (c) (1C:88) [16:54:25:532]: SHELL32::SHGetFolderPath returned: C:\ProgramData
    MSI (c) (1C:88) [16:54:25:532]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Local
    MSI (c) (1C:88) [16:54:25:532]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Pictures
    MSI (c) (1C:88) [16:54:25:532]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    MSI (c) (1C:88) [16:54:25:532]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    MSI (c) (1C:88) [16:54:25:532]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Desktop
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\Users\Public\Desktop
    MSI (c) (1C:88) [16:54:25:533]: SHELL32::SHGetFolderPath returned: C:\Windows\Fonts
    MSI (c) (1C:88) [16:54:25:534]: Note: 1: 2898 2: MS Sans Serif 3: MS Sans Serif 4: 0 5: 16
    MSI (c) (1C:88) [16:54:25:538]: MSI_LUA: Setting AdminUser property to 1 because this is the client or the user has already permitted elevation
    MSI (c) (1C:88) [16:54:25:538]: MSI_LUA: Setting MsiRunningElevated property to 1 because the install is already running elevated.
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding MsiRunningElevated property. Its value is '1'.
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding Privileged property. Its value is '1'.
    MSI (c) (1C:88) [16:54:25:538]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding USERNAME property. Its value is 'Windows User'.
    MSI (c) (1C:88) [16:54:25:538]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding DATABASE property. Its value is 'C:\Users\ADMINI~1\AppData\Local\Temp\1\bcc43.msi'.
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding OriginalDatabase property. Its value is 'C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi'.
    MSI (c) (1C:88) [16:54:25:538]: Machine policy value 'MsiDisableEmbeddedUI' is 0
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding SourceDir property. Its value is 'C:\'.
    MSI (c) (1C:88) [16:54:25:538]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is 'C:\'.
    MSI (c) (1C:B0) [16:54:25:539]: PROPERTY CHANGE: Adding VersionHandler property. Its value is '4.05'.
    === Logging started: 24/11/2010  16:54:25 ===
    MSI (c) (1C:88) [16:54:25:544]: Note: 1: 2205 2:  3: PatchPackage
    MSI (c) (1C:88) [16:54:25:544]: Machine policy value 'DisableRollback' is 0
    MSI (c) (1C:88) [16:54:25:544]: User policy value 'DisableRollback' is 0
    MSI (c) (1C:88) [16:54:25:544]: PROPERTY CHANGE: Adding UILevel property. Its value is '5'.
    MSI (c) (1C:88) [16:54:25:545]: PROPERTY CHANGE: Adding ACTION property. Its value is 'INSTALL'.
    MSI (c) (1C:88) [16:54:25:545]: Doing action: INSTALL
    Action 16:54:25: INSTALL.
    Action start 16:54:25: INSTALL.
    MSI (c) (1C:88) [16:54:25:546]: UI Sequence table 'InstallUISequence' is present and populated.
    MSI (c) (1C:88) [16:54:25:546]: Running UISequence
    MSI (c) (1C:88) [16:54:25:546]: PROPERTY CHANGE: Adding EXECUTEACTION property. Its value is 'INSTALL'.
    MSI (c) (1C:88) [16:54:25:546]: Doing action: FindRelatedProducts
    Action 16:54:25: FindRelatedProducts. Searching for related applications
    Action start 16:54:25: FindRelatedProducts.
    Action ended 16:54:25: FindRelatedProducts. Return value 1.
    MSI (c) (1C:88) [16:54:25:547]: Doing action: PrepareDlgTelerik
    Action 16:54:25: PrepareDlgTelerik.
    Action start 16:54:25: PrepareDlgTelerik.
    Info 2898. For Telerik_Font_SubTitle textstyle, the system created a 'Arial' font, in 1 character set, of 14 pixels height.
    Info 2898. For Telerik_Font_MidSizeText textstyle, the system created a 'Arial' font, in 1 character set, of 15 pixels height.
    Info 2898. For Telerik_Font_LargeText textstyle, the system created a 'Arial' font, in 1 character set, of 27 pixels height.
    Info 2898. For Telerik_Font_VersionInfo textstyle, the system created a 'Microsoft Sans Serif' font, in 1 character set, of 12 pixels height.
    Action 16:54:25: PrepareDlgTelerik. Dialog created
    Action ended 16:54:25: PrepareDlgTelerik. Return value 1.
    MSI (c) (1C:88) [16:54:25:589]: Doing action: SetCOMPANYNAME
    Action 16:54:25: SetCOMPANYNAME.
    Action start 16:54:25: SetCOMPANYNAME.
    MSI (c) (1C:88) [16:54:25:591]: PROPERTY CHANGE: Adding COMPANYNAME property. Its value is 'TeamPulse'.
    Action ended 16:54:25: SetCOMPANYNAME. Return value 1.
    MSI (c) (1C:88) [16:54:25:591]: Doing action: AppSearch
    Action 16:54:25: AppSearch. Searching for installed applications
    Action start 16:54:25: AppSearch.
    AppSearch: Property: ASPNET, Signature: ASPNETS
    MSI (c) (1C:88) [16:54:25:594]: PROPERTY CHANGE: Adding ASPNET property. Its value is '#1'.
    AppSearch: Property: ASPNET64, Signature: ASPNETS64
    MSI (c) (1C:88) [16:54:25:595]: PROPERTY CHANGE: Adding ASPNET64 property. Its value is '#1'.
    AppSearch: Property: IIS7ADMINSVC, Signature: IIS7ADMINSVCS
    MSI (c) (1C:88) [16:54:25:596]: PROPERTY CHANGE: Adding IIS7ADMINSVC property. Its value is '#1'.
    AppSearch: Property: IIS7ADMINSVC64, Signature: IIS7ADMINSVCS64
    MSI (c) (1C:88) [16:54:25:597]: PROPERTY CHANGE: Adding IIS7ADMINSVC64 property. Its value is '#1'.
    AppSearch: Property: IIS7MGMTCONSOLE, Signature: IIS7MGMTCONSOLES
    MSI (c) (1C:88) [16:54:25:598]: PROPERTY CHANGE: Adding IIS7MGMTCONSOLE property. Its value is '#1'.
    AppSearch: Property: IIS7MGMTCONSOLE64, Signature: IIS7MGMTCONSOLES64
    MSI (c) (1C:88) [16:54:25:599]: PROPERTY CHANGE: Adding IIS7MGMTCONSOLE64 property. Its value is '#1'.
    AppSearch: Property: IIS7WINDOWSAUTH, Signature: IIS7WINDOWSAUTH
    MSI (c) (1C:88) [16:54:25:600]: PROPERTY CHANGE: Adding IIS7WINDOWSAUTH property. Its value is '#1'.
    AppSearch: Property: IIS7WINDOWSAUTH64, Signature: IIS7WINDOWSAUTH64
    MSI (c) (1C:88) [16:54:25:602]: PROPERTY CHANGE: Adding IIS7WINDOWSAUTH64 property. Its value is '#1'.
    AppSearch: Property: TEAMEXPLORER2010, Signature: TEAMEXPLORER2010
    MSI (c) (1C:88) [16:54:25:603]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\InstalledProducts\Team Explorer 3: 2
    AppSearch: Property: TEAMEXPLORER2010_64, Signature: TEAMEXPLORER2010_64
    MSI (c) (1C:88) [16:54:25:604]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\InstalledProducts\Team Explorer 3: 2
    AppSearch: Property: DEFAULTDOCUMENT, Signature: defDoc
    MSI (c) (1C:88) [16:54:25:605]: PROPERTY CHANGE: Adding DEFAULTDOCUMENT property. Its value is '#1'.
    AppSearch: Property: DEFAULTDOCUMENT64, Signature: defDoc64
    MSI (c) (1C:88) [16:54:25:607]: PROPERTY CHANGE: Adding DEFAULTDOCUMENT64 property. Its value is '#1'.
    AppSearch: Property: HTTPREDIRECTION, Signature: httpRed
    MSI (c) (1C:88) [16:54:25:608]: PROPERTY CHANGE: Adding HTTPREDIRECTION property. Its value is '#1'.
    AppSearch: Property: HTTPREDIRECTION64, Signature: httpRed64
    MSI (c) (1C:88) [16:54:25:609]: PROPERTY CHANGE: Adding HTTPREDIRECTION64 property. Its value is '#1'.
    AppSearch: Property: STATICCONTENT, Signature: staticCon
    MSI (c) (1C:88) [16:54:25:610]: PROPERTY CHANGE: Adding STATICCONTENT property. Its value is '#1'.
    AppSearch: Property: STATICCONTENT64, Signature: staticCon64
    MSI (c) (1C:88) [16:54:25:611]: PROPERTY CHANGE: Adding STATICCONTENT64 property. Its value is '#1'.
    AppSearch: Property: NETFRAMEWORK40, Signature: Net40Key
    MSI (c) (1C:88) [16:54:25:612]: PROPERTY CHANGE: Adding NETFRAMEWORK40 property. Its value is 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\'.
    AppSearch: Property: INSTALLLOCATION, Signature: InstallLocationRegistry
    MSI (c) (1C:88) [16:54:25:613]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Telerik\Telerik TeamPulse 3: 2
    AppSearch: Property: NETSH, Signature: Netshexe
    MSI (c) (1C:88) [16:54:25:615]: Note: 1: 1322 2: 
    MSI (c) (1C:88) [16:54:25:615]: Note: 1: 1322 2: 
    MSI (c) (1C:88) [16:54:25:615]: PROPERTY CHANGE: Adding NETSH property. Its value is 'C:\Windows\system32\Netsh.exe'.
    AppSearch: Property: IISMAJORVERSION, Signature: IIsMajorVersionSearch
    MSI (c) (1C:88) [16:54:25:616]: PROPERTY CHANGE: Adding IISMAJORVERSION property. Its value is '#7'.
    AppSearch: Property: IISMINORVERSION, Signature: IIsMinorVersionSearch
    MSI (c) (1C:88) [16:54:25:617]: PROPERTY CHANGE: Adding IISMINORVERSION property. Its value is '#0'.
    Action ended 16:54:25: AppSearch. Return value 1.
    MSI (c) (1C:88) [16:54:25:618]: Doing action: ValidateProductID
    Action 16:54:25: ValidateProductID.
    Action start 16:54:25: ValidateProductID.
    Action ended 16:54:25: ValidateProductID. Return value 1.
    MSI (c) (1C:88) [16:54:25:620]: Doing action: CostInitialize
    Action 16:54:25: CostInitialize. Computing space requirements
    Action start 16:54:25: CostInitialize.
    MSI (c) (1C:88) [16:54:25:621]: Machine policy value 'MaxPatchCacheSize' is 10
    MSI (c) (1C:88) [16:54:25:621]: Baseline: Sorting baselines for {02E84302-F860-462A-BF16-FE2D92A4A06A}.
    MSI (c) (1C:88) [16:54:25:621]: Baseline: New baseline 103.11.17 from transaction.
    MSI (c) (1C:88) [16:54:25:621]: Baseline: Sorted order Native: Order 0.
    MSI (c) (1C:88) [16:54:25:622]: Baseline Data Table:
    MSI (c) (1C:88) [16:54:25:622]: ProductCode: {02E84302-F860-462A-BF16-FE2D92A4A06A} Version: 103.11.17 Attributes: 0 PatchId: Native BaselineId: -2147483648 Order: 0
    MSI (c) (1C:88) [16:54:25:622]: Baseline File Table:
    MSI (c) (1C:88) [16:54:25:622]: PROPERTY CHANGE: Adding ROOTDRIVE property. Its value is 'C:\'.
    MSI (c) (1C:88) [16:54:25:623]: PROPERTY CHANGE: Adding CostingComplete property. Its value is '0'.
    Action ended 16:54:25: CostInitialize. Return value 1.
    MSI (c) (1C:88) [16:54:25:623]: Doing action: FileCost
    Action 16:54:25: FileCost. Computing space requirements
    Action start 16:54:25: FileCost.
    MSI (c) (1C:88) [16:54:25:625]: Note: 1: 2205 2:  3: MsiAssembly
    MSI (c) (1C:88) [16:54:25:625]: Note: 1: 2205 2:  3: Class
    MSI (c) (1C:88) [16:54:25:625]: Note: 1: 2205 2:  3: Extension
    MSI (c) (1C:88) [16:54:25:625]: Note: 1: 2205 2:  3: TypeLib
    Action ended 16:54:25: FileCost. Return value 1.
    MSI (c) (1C:88) [16:54:25:625]: Doing action: CostFinalize
    Action 16:54:25: CostFinalize. Computing space requirements
    Action start 16:54:25: CostFinalize.
    MSI (c) (1C:88) [16:54:25:627]: PROPERTY CHANGE: Adding OutOfDiskSpace property. Its value is '0'.
    MSI (c) (1C:88) [16:54:25:627]: PROPERTY CHANGE: Adding OutOfNoRbDiskSpace property. Its value is '0'.
    MSI (c) (1C:88) [16:54:25:627]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceAvailable property. Its value is '0'.
    MSI (c) (1C:88) [16:54:25:627]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceRequired property. Its value is '0'.
    MSI (c) (1C:88) [16:54:25:627]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceRemaining property. Its value is '0'.
    MSI (c) (1C:88) [16:54:25:627]: Note: 1: 2205 2:  3: Patch
    MSI (c) (1C:88) [16:54:25:627]: Note: 1: 2205 2:  3: Condition
    MSI (c) (1C:88) [16:54:25:627]: PROPERTY CHANGE: Adding TARGETDIR property. Its value is 'C:\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding ProgramTelerikDir property. Its value is 'C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding ProgramMenuDir property. Its value is 'C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\TeamPulse\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding TelerikFolder property. Its value is 'C:\Program Files\Telerik\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding INSTALLLOCATION property. Its value is 'C:\Program Files\Telerik\TeamPulse\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding logs.Folder property. Its value is 'C:\Program Files\Telerik\TeamPulse\Logs\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding IntegrationService property. Its value is 'C:\Program Files\Telerik\TeamPulse\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Release property. Its value is 'C:\Program Files\Telerik\TeamPulse\IntegrationService\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding MappingDefaults property. Its value is 'C:\Program Files\Telerik\TeamPulse\IntegrationService\MappingDefaults\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding UserManagementRoot property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Views property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Welcome property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Welcome\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Activation property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Activation\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Shared property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Shared\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding License property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Home property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding EditorTemplates property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\EditorTemplates\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Scripts property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Scripts\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Images property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Images\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding Content property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Content\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding bin property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\bin\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding WebRoot property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding binFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\bin\'.
    MSI (c) (1C:88) [16:54:25:628]: PROPERTY CHANGE: Adding ClientBinFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\ClientBin\'.
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding FeedsFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Feeds\'.
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding ServiceFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Services\'.
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding TempStorage.Folder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Services\TempStorage\'.
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding ImagesFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Images\'.
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding DownloadFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Download\'.
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding CommonFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Common\'.
    MSI (c) (1C:88) [16:54:25:629]: Target path resolution complete. Dumping Directory table...
    MSI (c) (1C:88) [16:54:25:629]: Note: target paths subject to change (via custom actions or browsing)
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: TARGETDIR    , Object: C:\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: WindowsFolder    , Object: C:\Windows\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ProgramMenuFolder    , Object: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ProgramTelerikDir    , Object: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ProgramMenuDir   , Object: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\TeamPulse\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ProgramFilesFolder   , Object: C:\Program Files\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: TelerikFolder    , Object: C:\Program Files\Telerik\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: INSTALLLOCATION  , Object: C:\Program Files\Telerik\TeamPulse\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: logs.Folder  , Object: C:\Program Files\Telerik\TeamPulse\Logs\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: IntegrationService   , Object: C:\Program Files\Telerik\TeamPulse\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Release  , Object: C:\Program Files\Telerik\TeamPulse\IntegrationService\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: MappingDefaults  , Object: C:\Program Files\Telerik\TeamPulse\IntegrationService\MappingDefaults\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: UserManagementRoot   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Views    , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Welcome  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Welcome\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Activation   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Activation\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Shared   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Shared\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: License  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Home , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: EditorTemplates  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\EditorTemplates\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Scripts  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Scripts\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Images   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Images\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: Content  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Content\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: bin  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\bin\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: WebRoot  , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: binFolder    , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\bin\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ClientBinFolder  , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\ClientBin\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: FeedsFolder  , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Feeds\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ServiceFolder    , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Services\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: TempStorage.Folder   , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Services\TempStorage\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: ImagesFolder , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Images\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: DownloadFolder   , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Download\
    MSI (c) (1C:88) [16:54:25:629]: Dir (target): Key: CommonFolder , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Common\
    MSI (c) (1C:88) [16:54:25:629]: PROPERTY CHANGE: Adding INSTALLLEVEL property. Its value is '1'.
    MSI (c) (1C:88) [16:54:25:629]: Note: 1: 2205 2:  3: MsiAssembly
    MSI (c) (1C:88) [16:54:25:629]: Note: 1: 2228 2:  3: MsiAssembly 4:  SELECT `MsiAssembly`.`Attributes`, `MsiAssembly`.`File_Application`, `MsiAssembly`.`File_Manifest`,  `Component`.`KeyPath` FROM `MsiAssembly`, `Component` WHERE  `MsiAssembly`.`Component_` = `Component`.`Component` AND `MsiAssembly`.`Component_` = ?
    Action ended 16:54:25: CostFinalize. Return value 1.
    MSI (c) (1C:88) [16:54:25:631]: Skipping action: MaintenanceWelcomeDlgTelerik (condition is false)
    MSI (c) (1C:88) [16:54:25:631]: Skipping action: ResumeDlgTelerik (condition is false)
    MSI (c) (1C:88) [16:54:25:631]: Skipping action: UpgradeDlgTelerik (condition is false)
    MSI (c) (1C:88) [16:54:25:631]: Doing action: WelcomeDlgTelerik
    Action 16:54:25: WelcomeDlgTelerik.
    Action start 16:54:25: WelcomeDlgTelerik.
    Info 2898. For Telerik_Warning textstyle, the system created a 'Arial' font, in 1 character set, of 15 pixels height.
    Info 2898. For Telerik_Font_Title textstyle, the system created a 'Arial' font, in 1 character set, of 15 pixels height.
    Action 16:54:25: WelcomeDlgTelerik. Dialog created
    MSI (c) (1C:0C) [16:54:25:650]: Note: 1: 2205 2:  3: _RemoveFilePath
    MSI (c) (1C:0C) [16:54:25:662]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'.
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: BindImage
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: ProgId
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: PublishComponent
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: SelfReg
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: Extension
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: Font
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2205 2:  3: Class
    MSI (c) (1C:0C) [16:54:25:662]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:28:450]: PROPERTY CHANGE: Modifying INSTALLLEVEL property. Its current value is '1'. Its new value: '1000'.
    MSI (c) (1C:B0) [16:54:28:452]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:28:452]: Doing action: CheckCorrectVersionOfDotNet
    Action 16:54:28: CheckCorrectVersionOfDotNet.
    Action start 16:54:28: CheckCorrectVersionOfDotNet.
    MSI (c) (1C:B0) [16:54:28:463]: Creating MSIHANDLE (1) of type 790542 for thread 3760
    MSI (c) (1C:28) [16:54:28:463]: Invoking remote custom action. DLL: C:\Users\ADMINI~1\AppData\Local\Temp\1\MSID885.tmp, Entrypoint: CheckCorrectVersionOfDotNet
    MSI (c) (1C:84) [16:54:28:465]: Cloaking enabled.
    MSI (c) (1C:84) [16:54:28:465]: Attempting to enable all disabled privileges before calling Install on Server
    MSI (c) (1C:84) [16:54:28:465]: Connected to service for CA interface.
    MSI (c) (1C!4C) [16:54:28:545]: Creating MSIHANDLE (2) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:546]: Closing MSIHANDLE (2) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:619]: Creating MSIHANDLE (3) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:620]: Closing MSIHANDLE (3) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:744]: Creating MSIHANDLE (4) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:748]: Closing MSIHANDLE (4) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:823]: Creating MSIHANDLE (5) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:824]: Closing MSIHANDLE (5) of type 790531 for thread 3916
    MSI (c) (1C!4C) [16:54:28:826]: PROPERTY CHANGE: Modifying ISCORRECTNETFRAMEWORK40VERSION property. Its current value is '0'. Its new value: '1'.
    MSI (c) (1C:28) [16:54:29:112]: Closing MSIHANDLE (1) of type 790542 for thread 3760
    Action ended 16:54:29: CheckCorrectVersionOfDotNet. Return value 1.
    Action 16:54:29: InstallRequirementsTelerik. Dialog created
    Action 16:54:29: LicenseAgreementDlgTelerik. Dialog created
    MSI (c) (1C:B0) [16:54:31:018]: PROPERTY CHANGE: Adding LicenseAccepted property. Its value is '1'.
    MSI (c) (1C:B0) [16:54:31:874]: Doing action: GetUserInformation
    Action 16:54:31: GetUserInformation.
    Action start 16:54:31: GetUserInformation.
    MSI (c) (1C:B0) [16:54:31:885]: Creating MSIHANDLE (6) of type 790542 for thread 3760
    MSI (c) (1C:18) [16:54:31:885]: Invoking remote custom action. DLL: C:\Users\ADMINI~1\AppData\Local\Temp\1\MSIE5DE.tmp, Entrypoint: GetUserInformation
    MSI (c) (1C!FC) [16:54:31:917]: Creating MSIHANDLE (7) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:31:917]: Closing MSIHANDLE (7) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:31:989]: Creating MSIHANDLE (8) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:31:989]: Closing MSIHANDLE (8) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:32:063]: Creating MSIHANDLE (9) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:32:066]: Closing MSIHANDLE (9) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:32:090]: Creating MSIHANDLE (10) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:32:091]: Closing MSIHANDLE (10) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:32:093]: PROPERTY CHANGE: Deleting USERNAME property. Its current value is 'Windows User'.
    MSI (c) (1C!FC) [16:54:32:094]: PROPERTY CHANGE: Adding DOMAIN property. Its value is 'BUMBLEBEE'.
    MSI (c) (1C!FC) [16:54:32:094]: PROPERTY CHANGE: Adding DB_DOMAIN property. Its value is 'BUMBLEBEE'.
    MSI (c) (1C!FC) [16:54:32:094]: PROPERTY CHANGE: Adding USERNAME property. Its value is 'Administrator'.
    MSI (c) (1C!FC) [16:54:32:094]: PROPERTY CHANGE: Adding DB_USERNAME property. Its value is 'Administrator'.
    MSI (c) (1C!FC) [16:54:33:116]: Creating MSIHANDLE (11) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:33:117]: Closing MSIHANDLE (11) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:33:120]: Creating MSIHANDLE (12) of type 790531 for thread 1276
    MSI (c) (1C!FC) [16:54:33:121]: Closing MSIHANDLE (12) of type 790531 for thread 1276
    MSI (c) (1C:18) [16:54:33:485]: Closing MSIHANDLE (6) of type 790542 for thread 3760
    Action ended 16:54:33: GetUserInformation. Return value 1.
    Info 2898. For Telerik_Font_MidSizeText__UL textstyle, the system created a 'Arial' font, in 0 character set, of 15 pixels height.
    Action 16:54:33: UserInfoDlgTelerik. Dialog created
    MSI (c) (1C:B0) [16:54:34:706]: PROPERTY CHANGE: Modifying USERINFORBGSELECTION property. Its current value is '1'. Its new value: '0'.
    Action 16:54:35: SetupTypeDlgTelerik. Dialog created
    MSI (c) (1C:B0) [16:54:36:675]: PROPERTY CHANGE: Adding WixUI_InstallMode property. Its value is 'InstallComplete'.
    MSI (c) (1C:B0) [16:54:36:678]: Note: 1: 2727 2: 
    Info 2898. For WixUI_Font_Title textstyle, the system created a 'Arial' font, in 1 character set, of 15 pixels height.
    Action 16:54:36: ConnectToDB. Dialog created
    MSI (c) (1C:B0) [16:54:46:229]: PROPERTY CHANGE: Adding DB_PASSWORD property. Its value is '**********'.
    MSI (c) (1C:B0) [16:54:51:230]: PROPERTY CHANGE: Modifying DB_PATH property. Its current value is '(local)\sqlexpress'. Its new value: 'BUMBLEBEE'.
    MSI (c) (1C:B0) [16:54:51:319]: PROPERTY CHANGE: Modifying SERVER_CONNECTION_STRING property. Its current value is '**********'. Its new value: '**********'.
    MSI (c) (1C:B0) [16:54:51:320]: Doing action: TestConnection
    Action 16:54:51: TestConnection.
    Action start 16:54:51: TestConnection.
    MSI (c) (1C:B0) [16:54:51:330]: Creating MSIHANDLE (13) of type 790542 for thread 3760
    MSI (c) (1C:FC) [16:54:51:330]: Invoking remote custom action. DLL: C:\Users\ADMINI~1\AppData\Local\Temp\1\MSI31DD.tmp, Entrypoint: TestDatabaseConnection
    MSI (c) (1C!44) [16:54:51:362]: Creating MSIHANDLE (14) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:362]: Closing MSIHANDLE (14) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:433]: Creating MSIHANDLE (15) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:434]: Closing MSIHANDLE (15) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:520]: Creating MSIHANDLE (16) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:524]: Closing MSIHANDLE (16) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:575]: Creating MSIHANDLE (17) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:575]: Closing MSIHANDLE (17) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:576]: Creating MSIHANDLE (18) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:576]: Closing MSIHANDLE (18) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:684]: Creating MSIHANDLE (19) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:685]: Closing MSIHANDLE (19) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:691]: Creating MSIHANDLE (20) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:51:692]: Closing MSIHANDLE (20) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:52:543]: Creating MSIHANDLE (21) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:52:543]: Closing MSIHANDLE (21) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:52:544]: PROPERTY CHANGE: Modifying DB_CONNECTION_RESULT property. Its current value is '-1'. Its new value: '1'.
    MSI (c) (1C!44) [16:54:52:544]: Creating MSIHANDLE (22) of type 790531 for thread 3652
    MSI (c) (1C!44) [16:54:52:544]: Closing MSIHANDLE (22) of type 790531 for thread 3652
    MSI (c) (1C:FC) [16:54:54:274]: Closing MSIHANDLE (13) of type 790542 for thread 3760
    Action ended 16:54:54: TestConnection. Return value 1.
    MSI (c) (1C:B0) [16:54:54:275]: PROPERTY CHANGE: Modifying DB_LAST_CONNECTION_RESULT property. Its current value is '-1'. Its new value: '1'.
    MSI (c) (1C:B0) [16:54:55:312]: PROPERTY CHANGE: Modifying TEAMPULSE_CONNECTION_STRING property. Its current value is '**********'. Its new value: '**********'.
    MSI (c) (1C:B0) [16:54:55:312]: Doing action: GetUniqueID
    Action 16:54:55: GetUniqueID.
    Action start 16:54:55: GetUniqueID.
    MSI (c) (1C:B0) [16:54:55:323]: Creating MSIHANDLE (23) of type 790542 for thread 3760
    MSI (c) (1C:20) [16:54:55:323]: Invoking remote custom action. DLL: C:\Users\ADMINI~1\AppData\Local\Temp\1\MSI4177.tmp, Entrypoint: GetMachineID
    MSI (c) (1C!54) [16:54:55:358]: Creating MSIHANDLE (24) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:358]: Closing MSIHANDLE (24) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:429]: Creating MSIHANDLE (25) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:430]: Closing MSIHANDLE (25) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:512]: Creating MSIHANDLE (26) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:516]: Closing MSIHANDLE (26) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:551]: Creating MSIHANDLE (27) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:551]: Closing MSIHANDLE (27) of type 790531 for thread 2644
    MSI (c) (1C!54) [16:54:55:649]: PROPERTY CHANGE: Adding MACHINEID property. Its value is '**********'.
    MSI (c) (1C:20) [16:54:55:879]: Closing MSIHANDLE (23) of type 790542 for thread 3760
    Action ended 16:54:55: GetUniqueID. Return value 1.
    MSI (c) (1C:B0) [16:54:55:880]: PROPERTY CHANGE: Modifying DB_CONNECTION_RESULT property. Its current value is '1'. Its new value: '-1'.
    Info 2898. For Telerik_Font_TeamPulse textstyle, the system created a 'Arial' font, in 1 character set, of 18 pixels height.
    Action 16:54:55: VerifyReadyDlgTelerik. Dialog created
    MSI (c) (1C:B0) [16:54:56:398]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:56:904]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:57:404]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:57:919]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:58:419]: Note: 1: 2727 2: 
    MSI (c) (1C:B0) [16:54:58:933]: Note: 1: 2727 2: 
    Action ended 16:54:59: WelcomeDlgTelerik. Return value 1.
    MSI (c) (1C:88) [16:54:59:090]: Doing action: ProgressDlgTelerik
    Action 16:54:59: ProgressDlgTelerik.
    Action start 16:54:59: ProgressDlgTelerik.
    Action 16:54:59: ProgressDlgTelerik. Dialog created
    Action ended 16:54:59: ProgressDlgTelerik. Return value 1.
    MSI (c) (1C:88) [16:54:59:151]: Doing action: ExecuteAction
    Action 16:54:59: ExecuteAction.
    Action start 16:54:59: ExecuteAction.
    MSI (c) (1C:88) [16:54:59:153]: PROPERTY CHANGE: Adding SECONDSEQUENCE property. Its value is '1'.
    MSI (c) (1C:88) [16:54:59:153]: Grabbed execution mutex.
    MSI (c) (1C:88) [16:54:59:153]: Incrementing counter to disable shutdown. Counter after increment: 0
    MSI (c) (1C:88) [16:54:59:154]: Switching to server: ASPNET="#1" ASPNET64="#1" IIS7ADMINSVC="#1" IIS7ADMINSVC64="#1" IIS7MGMTCONSOLE="#1" IIS7MGMTCONSOLE64="#1" IIS7WINDOWSAUTH="#1" IIS7WINDOWSAUTH64="#1" DEFAULTDOCUMENT="#1" DEFAULTDOCUMENT64="#1" HTTPREDIRECTION="#1" HTTPREDIRECTION64="#1" STATICCONTENT="#1" STATICCONTENT64="#1" NETFRAMEWORK40="C:\Windows\Microsoft.NET\Framework\v4.0.30319\" INSTALLLOCATION="C:\Program Files\Telerik\TeamPulse\" NETSH="C:\Windows\system32\Netsh.exe" IISMAJORVERSION="#7" IISMINORVERSION="#0" USERINFORBGSELECTION="0" DOMAIN="BUMBLEBEE" USERNAME="Administrator" DB_PATH="BUMBLEBEE" DB_DOMAIN="BUMBLEBEE" DB_USERNAME="Administrator" DB_PASSWORD=********** COMPANYNAME="TeamPulse" TARGETDIR="C:\" ISCORRECTNETFRAMEWORK40VERSION="1" TEAMPULSE_CONNECTION_STRING=********** SERVER_CONNECTION_STRING=********** DB_LAST_CONNECTION_RESULT="1" CURRENTDIRECTORY="C:\" CLIENTUILEVEL="0" CLIENTPROCESSID="3612" SOURCEDIR="C:\" ACTION="INSTALL" EXECUTEACTION="INSTALL" SECONDSEQUENCE="1" ROOTDRIVE="C:\" INSTALLLEVEL="1000" MACHINEID=**********  ADDLOCAL=ProductFeature 
    MSI (s) (98:F0) [16:54:59:158]: Running installation inside multi-package transaction C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi
    MSI (s) (98:F0) [16:54:59:158]: Grabbed execution mutex.
    MSI (s) (98:28) [16:54:59:159]: Resetting cached policy values
    MSI (s) (98:28) [16:54:59:159]: Machine policy value 'Debug' is 0
    MSI (s) (98:28) [16:54:59:159]: ******* RunEngine:
               ******* Product: C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi
               ******* Action: INSTALL
               ******* CommandLine: **********
    MSI (s) (98:28) [16:54:59:160]: Machine policy value 'DisableUserInstalls' is 0
    MSI (s) (98:28) [16:54:59:161]: Setting cached product context: User non-assigned for product: F0F9292441ECFA74F97CFF92A7060312
    MSI (s) (98:28) [16:54:59:161]: Using cached product context: User non-assigned for product: F0F9292441ECFA74F97CFF92A7060312
    MSI (s) (98:28) [16:54:59:161]: Setting cached product context: machine assigned for product: 000021599B0090400000000000F01FEC
    MSI (s) (98:28) [16:54:59:161]: Using cached product context: machine assigned for product: 000021599B0090400000000000F01FEC
    MSI (s) (98:28) [16:54:59:161]: Setting cached product context: machine assigned for product: 00969995C6E07B54C8936CC49B48264E
    MSI (s) (98:28) [16:54:59:161]: Using cached product context: machine assigned for product: 00969995C6E07B54C8936CC49B48264E
    MSI (s) (98:28) [16:54:59:161]: Setting cached product context: machine assigned for product: 06A5DB8A348ECD642817BA2F7065EBF0
    MSI (s) (98:28) [16:54:59:161]: Using cached product context: machine assigned for product: 06A5DB8A348ECD642817BA2F7065EBF0
    MSI (s) (98:28) [16:54:59:162]: Setting cached product context: machine assigned for product: 162AD4AB06BC09642B204499D8CF9668
    MSI (s) (98:28) [16:54:59:162]: Using cached product context: machine assigned for product: 162AD4AB06BC09642B204499D8CF9668
    MSI (s) (98:28) [16:54:59:162]: Setting cached product context: machine assigned for product: 26DDC2EC4210AC63483DF9D4FCC5B59D
    MSI (s) (98:28) [16:54:59:162]: Using cached product context: machine assigned for product: 26DDC2EC4210AC63483DF9D4FCC5B59D
    MSI (s) (98:28) [16:54:59:162]: Setting cached product context: machine assigned for product: 27AE7A6000F035D48AC15A9D52171114
    MSI (s) (98:28) [16:54:59:162]: Using cached product context: machine assigned for product: 27AE7A6000F035D48AC15A9D52171114
    MSI (s) (98:28) [16:54:59:162]: Setting cached product context: machine assigned for product: 2A00B98CA27B539469CF8397E65945CE
    MSI (s) (98:28) [16:54:59:163]: Using cached product context: machine assigned for product: 2A00B98CA27B539469CF8397E65945CE
    MSI (s) (98:28) [16:54:59:163]: Setting cached product context: machine assigned for product: 2ABBA57271843444A98BDE34ACA9AA71
    MSI (s) (98:28) [16:54:59:163]: Using cached product context: machine assigned for product: 2ABBA57271843444A98BDE34ACA9AA71
    MSI (s) (98:28) [16:54:59:163]: Setting cached product context: machine assigned for product: 2E43F6A45E9061642B72A4624A886A9F
    MSI (s) (98:28) [16:54:59:163]: Using cached product context: machine assigned for product: 2E43F6A45E9061642B72A4624A886A9F
    MSI (s) (98:28) [16:54:59:163]: Setting cached product context: machine assigned for product: 2F8EDC4619735F64AB2D27FF5F52F2BA
    MSI (s) (98:28) [16:54:59:163]: Using cached product context: machine assigned for product: 2F8EDC4619735F64AB2D27FF5F52F2BA
    MSI (s) (98:28) [16:54:59:163]: Setting cached product context: machine assigned for product: 3323515BEEA94DC4D9C2F4AA8C07BD2E
    MSI (s) (98:28) [16:54:59:163]: Using cached product context: machine assigned for product: 3323515BEEA94DC4D9C2F4AA8C07BD2E
    MSI (s) (98:28) [16:54:59:164]: Setting cached product context: machine assigned for product: 3A7A134378260B64A81FEB42251AEF26
    MSI (s) (98:28) [16:54:59:164]: Using cached product context: machine assigned for product: 3A7A134378260B64A81FEB42251AEF26
    MSI (s) (98:28) [16:54:59:164]: Setting cached product context: machine assigned for product: 3CE12785E4D897B4CB1501452EDDDC01
    MSI (s) (98:28) [16:54:59:164]: Using cached product context: machine assigned for product: 3CE12785E4D897B4CB1501452EDDDC01
    MSI (s) (98:28) [16:54:59:164]: Setting cached product context: machine assigned for product: 4263C9AF396C3244A8B8B22C9B6F70BA
    MSI (s) (98:28) [16:54:59:164]: Using cached product context: machine assigned for product: 4263C9AF396C3244A8B8B22C9B6F70BA
    MSI (s) (98:28) [16:54:59:165]: Setting cached product context: machine assigned for product: 5C1093C35543A0E32A41B090A305076A
    MSI (s) (98:28) [16:54:59:165]: Using cached product context: machine assigned for product: 5C1093C35543A0E32A41B090A305076A
    MSI (s) (98:28) [16:54:59:165]: Setting cached product context: machine assigned for product: 5C77E691425F05B4DBA1C212EE9E8B7F
    MSI (s) (98:28) [16:54:59:165]: Using cached product context: machine assigned for product: 5C77E691425F05B4DBA1C212EE9E8B7F
    MSI (s) (98:28) [16:54:59:165]: Setting cached product context: machine assigned for product: 626A04EB76923F04D9B6185011FA67EB
    MSI (s) (98:28) [16:54:59:165]: Using cached product context: machine assigned for product: 626A04EB76923F04D9B6185011FA67EB
    MSI (s) (98:28) [16:54:59:165]: Setting cached product context: machine assigned for product: 6BA4943F00966C14FA7528636228E78D
    MSI (s) (98:28) [16:54:59:165]: Using cached product context: machine assigned for product: 6BA4943F00966C14FA7528636228E78D
    MSI (s) (98:28) [16:54:59:165]: Setting cached product context: machine assigned for product: 7DA4D243C4CE8CE4EA6A7EF095504A09
    MSI (s) (98:28) [16:54:59:166]: Using cached product context: machine assigned for product: 7DA4D243C4CE8CE4EA6A7EF095504A09
    MSI (s) (98:28) [16:54:59:166]: Setting cached product context: machine assigned for product: 868D758B0B8FEE34CBB29D5EDE122F73
    MSI (s) (98:28) [16:54:59:166]: Using cached product context: machine assigned for product: 868D758B0B8FEE34CBB29D5EDE122F73
    MSI (s) (98:28) [16:54:59:166]: Setting cached product context: machine assigned for product: 98E9EA339C74D0A4E9D9DB6D69A68340
    MSI (s) (98:28) [16:54:59:166]: Using cached product context: machine assigned for product: 98E9EA339C74D0A4E9D9DB6D69A68340
    MSI (s) (98:28) [16:54:59:166]: Setting cached product context: machine assigned for product: 99DB51844A69EF948A58CD0FE6E9E487
    MSI (s) (98:28) [16:54:59:166]: Using cached product context: machine assigned for product: 99DB51844A69EF948A58CD0FE6E9E487
    MSI (s) (98:28) [16:54:59:167]: Setting cached product context: machine assigned for product: B5400202FCD89444D8C5BEB53A47041F
    MSI (s) (98:28) [16:54:59:167]: Using cached product context: machine assigned for product: B5400202FCD89444D8C5BEB53A47041F
    MSI (s) (98:28) [16:54:59:167]: Setting cached product context: machine assigned for product: BE31195E5820DFB43AA77BE9CAB6F8B4
    MSI (s) (98:28) [16:54:59:167]: Using cached product context: machine assigned for product: BE31195E5820DFB43AA77BE9CAB6F8B4
    MSI (s) (98:28) [16:54:59:167]: Setting cached product context: machine assigned for product: C10F569CAE677DB479E36432A63E217D
    MSI (s) (98:28) [16:54:59:167]: Using cached product context: machine assigned for product: C10F569CAE677DB479E36432A63E217D
    MSI (s) (98:28) [16:54:59:167]: Setting cached product context: machine assigned for product: C2B4A4AA56408FC3AB67720A728DCABA
    MSI (s) (98:28) [16:54:59:167]: Using cached product context: machine assigned for product: C2B4A4AA56408FC3AB67720A728DCABA
    MSI (s) (98:28) [16:54:59:168]: Setting cached product context: machine assigned for product: D7314F9862C648A4DB8BE2A5B47BE100
    MSI (s) (98:28) [16:54:59:168]: Using cached product context: machine assigned for product: D7314F9862C648A4DB8BE2A5B47BE100
    MSI (s) (98:28) [16:54:59:168]: Setting cached product context: machine assigned for product: E754886CDF30149429B32AF7D4247ADD
    MSI (s) (98:28) [16:54:59:168]: Using cached product context: machine assigned for product: E754886CDF30149429B32AF7D4247ADD
    MSI (s) (98:28) [16:54:59:168]: Setting cached product context: machine assigned for product: EA5B44F46A28A8A43A3E2ED48479823E
    MSI (s) (98:28) [16:54:59:168]: Using cached product context: machine assigned for product: EA5B44F46A28A8A43A3E2ED48479823E
    MSI (s) (98:28) [16:54:59:168]: Setting cached product context: machine assigned for product: EED64D061225AA749B87AB525C9D5F06
    MSI (s) (98:28) [16:54:59:169]: Using cached product context: machine assigned for product: EED64D061225AA749B87AB525C9D5F06
    MSI (s) (98:28) [16:54:59:169]: Setting cached product context: machine assigned for product: F01A5C10B9DAB50458A3669548A12124
    MSI (s) (98:28) [16:54:59:169]: Using cached product context: machine assigned for product: F01A5C10B9DAB50458A3669548A12124
    MSI (s) (98:28) [16:54:59:169]: Setting cached product context: machine assigned for product: F1CD45CA7ADEC844ABC412A8295F9E58
    MSI (s) (98:28) [16:54:59:169]: Using cached product context: machine assigned for product: F1CD45CA7ADEC844ABC412A8295F9E58
    MSI (s) (98:28) [16:54:59:169]: Setting cached product context: machine assigned for product: FAA9C0AB723160F34BC943B9B48E7F04
    MSI (s) (98:28) [16:54:59:169]: Using cached product context: machine assigned for product: FAA9C0AB723160F34BC943B9B48E7F04
    MSI (s) (98:28) [16:54:59:169]: Setting cached product context: machine assigned for product: FCDAC0A0AD874C333A05DC1548B97920
    MSI (s) (98:28) [16:54:59:170]: Using cached product context: machine assigned for product: FCDAC0A0AD874C333A05DC1548B97920
    MSI (s) (98:28) [16:54:59:170]: Setting cached product context: machine assigned for product: FCFE82D499952D44D8E4CA46E3673CF3
    MSI (s) (98:28) [16:54:59:170]: Using cached product context: machine assigned for product: FCFE82D499952D44D8E4CA46E3673CF3
    MSI (s) (98:28) [16:54:59:174]: Machine policy value 'LimitSystemRestoreCheckpointing' is 0
    MSI (s) (98:28) [16:54:59:174]: Note: 1: 1715 2: Telerik TeamPulse
    MSI (s) (98:28) [16:54:59:174]: Calling SRSetRestorePoint API. dwRestorePtType: 0, dwEventType: 102, llSequenceNumber: 0, szDescription: "Installed Telerik TeamPulse".
    MSI (s) (98:28) [16:54:59:174]: The call to SRSetRestorePoint API failed. Returned status: 0. GetLastError() returned: 127
    MSI (s) (98:28) [16:54:59:176]: File will have security applied from OpCode.
    MSI (s) (98:28) [16:54:59:228]: SOFTWARE RESTRICTION POLICY: Verifying package --> 'C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi' against software restriction policy
    MSI (s) (98:28) [16:54:59:229]: SOFTWARE RESTRICTION POLICY: C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi has a digital signature
    MSI (s) (98:28) [16:54:59:313]: SOFTWARE RESTRICTION POLICY: C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi is permitted to run at the 'unrestricted' authorization level.
    MSI (s) (98:28) [16:54:59:313]: End dialog not enabled
    MSI (s) (98:28) [16:54:59:314]: Original package ==> C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi
    MSI (s) (98:28) [16:54:59:314]: Package we're running from ==> C:\Windows\Installer\5e8f9.msi
    MSI (s) (98:28) [16:54:59:316]: APPCOMPAT: looking for appcompat database entry with ProductCode '{02E84302-F860-462A-BF16-FE2D92A4A06A}'.
    MSI (s) (98:28) [16:54:59:316]: APPCOMPAT: no matching ProductCode found in database.
    MSI (s) (98:28) [16:54:59:319]: MSCOREE not loaded loading copy from system32
    MSI (s) (98:28) [16:54:59:322]: Machine policy value 'TransformsSecure' is 1
    MSI (s) (98:28) [16:54:59:322]: Machine policy value 'DisablePatch' is 0
    MSI (s) (98:28) [16:54:59:322]: Machine policy value 'AllowLockdownPatch' is 0
    MSI (s) (98:28) [16:54:59:322]: Machine policy value 'DisableLUAPatching' is 0
    MSI (s) (98:28) [16:54:59:322]: Machine policy value 'DisableFlyWeightPatching' is 0
    MSI (s) (98:28) [16:54:59:322]: Enabling baseline caching for this transaction since all active patches are MSI 3.0 style MSPs or at least one MSI 3.0 minor update patch is active
    MSI (s) (98:28) [16:54:59:323]: APPCOMPAT: looking for appcompat database entry with ProductCode '{02E84302-F860-462A-BF16-FE2D92A4A06A}'.
    MSI (s) (98:28) [16:54:59:323]: APPCOMPAT: no matching ProductCode found in database.
    MSI (s) (98:28) [16:54:59:323]: Transforms are not secure.
    MSI (s) (98:28) [16:54:59:323]: PROPERTY CHANGE: Adding MsiLogFileLocation property. Its value is 'C:\teampulselog.txt'.
    MSI (s) (98:28) [16:54:59:324]: Command Line: ASPNET=#1 ASPNET64=#1 IIS7ADMINSVC=#1 IIS7ADMINSVC64=#1 IIS7MGMTCONSOLE=#1 IIS7MGMTCONSOLE64=#1 IIS7WINDOWSAUTH=#1 IIS7WINDOWSAUTH64=#1 DEFAULTDOCUMENT=#1 DEFAULTDOCUMENT64=#1 HTTPREDIRECTION=#1 HTTPREDIRECTION64=#1 STATICCONTENT=#1 STATICCONTENT64=#1 NETFRAMEWORK40=C:\Windows\Microsoft.NET\Framework\v4.0.30319\ INSTALLLOCATION=C:\Program Files\Telerik\TeamPulse\ NETSH=C:\Windows\system32\Netsh.exe IISMAJORVERSION=#7 IISMINORVERSION=#0 USERINFORBGSELECTION=0 DOMAIN=BUMBLEBEE USERNAME=Administrator DB_PATH=BUMBLEBEE DB_DOMAIN=BUMBLEBEE DB_USERNAME=Administrator DB_PASSWORD=********** COMPANYNAME=TeamPulse TARGETDIR=C:\ ISCORRECTNETFRAMEWORK40VERSION=1 TEAMPULSE_CONNECTION_STRING=********** SERVER_CONNECTION_STRING=********** DB_LAST_CONNECTION_RESULT=1 CURRENTDIRECTORY=C:\ CLIENTUILEVEL=0 CLIENTPROCESSID=3612 SOURCEDIR=C:\ ACTION=INSTALL EXECUTEACTION=INSTALL SECONDSEQUENCE=1 ROOTDRIVE=C:\ INSTALLLEVEL=1000 MACHINEID=********** ADDLOCAL=ProductFeature ACTION=INSTALL
    MSI (s) (98:28) [16:54:59:324]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{99765709-1FEF-4648-A08B-9B16F74CFA8D}'.
    MSI (s) (98:28) [16:54:59:324]: Product Code passed to Engine.Initialize:           ''
    MSI (s) (98:28) [16:54:59:324]: Product Code from property table before transforms: '{02E84302-F860-462A-BF16-FE2D92A4A06A}'
    MSI (s) (98:28) [16:54:59:324]: Product Code from property table after transforms:  '{02E84302-F860-462A-BF16-FE2D92A4A06A}'
    MSI (s) (98:28) [16:54:59:324]: Product not registered: beginning first-time install
    MSI (s) (98:28) [16:54:59:324]: Product {02E84302-F860-462A-BF16-FE2D92A4A06A} is not managed.
    MSI (s) (98:28) [16:54:59:324]: MSI_LUA: Credential prompt not required, user is an admin
    MSI (s) (98:28) [16:54:59:324]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
    MSI (s) (98:28) [16:54:59:324]: Entering CMsiConfigurationManager::SetLastUsedSource.
    MSI (s) (98:28) [16:54:59:325]: User policy value 'SearchOrder' is 'nmu'
    MSI (s) (98:28) [16:54:59:325]: Adding new sources is allowed.
    MSI (s) (98:28) [16:54:59:325]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
    MSI (s) (98:28) [16:54:59:325]: Package name extracted from package path: 'Telerik_TeamPulse_CommunityEdition_Q3_2010.msi'
    MSI (s) (98:28) [16:54:59:325]: Package to be registered: 'Telerik_TeamPulse_CommunityEdition_Q3_2010.msi'
    MSI (s) (98:28) [16:54:59:326]: Note: 1: 2262 2: AdminProperties 3: -2147287038
    MSI (s) (98:28) [16:54:59:326]: Machine policy value 'DisableMsi' is 1
    MSI (s) (98:28) [16:54:59:326]: Machine policy value 'AlwaysInstallElevated' is 0
    MSI (s) (98:28) [16:54:59:326]: User policy value 'AlwaysInstallElevated' is 0
    MSI (s) (98:28) [16:54:59:326]: Running product '{02E84302-F860-462A-BF16-FE2D92A4A06A}' with user privileges: It's not assigned.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding ASPNET property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding ASPNET64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding IIS7ADMINSVC property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding IIS7ADMINSVC64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding IIS7MGMTCONSOLE property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding IIS7MGMTCONSOLE64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding IIS7WINDOWSAUTH property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding IIS7WINDOWSAUTH64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding DEFAULTDOCUMENT property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding DEFAULTDOCUMENT64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding HTTPREDIRECTION property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding HTTPREDIRECTION64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding STATICCONTENT property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:326]: PROPERTY CHANGE: Adding STATICCONTENT64 property. Its value is '#1'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding NETFRAMEWORK40 property. Its value is 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding INSTALLLOCATION property. Its value is 'C:\Program Files\Telerik\TeamPulse\'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding NETSH property. Its value is 'C:\Windows\system32\Netsh.exe'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding IISMAJORVERSION property. Its value is '#7'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding IISMINORVERSION property. Its value is '#0'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Modifying USERINFORBGSELECTION property. Its current value is '1'. Its new value: '0'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding DOMAIN property. Its value is 'BUMBLEBEE'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding USERNAME property. Its value is 'Administrator'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Modifying DB_PATH property. Its current value is '(local)\sqlexpress'. Its new value: 'BUMBLEBEE'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding DB_DOMAIN property. Its value is 'BUMBLEBEE'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding DB_USERNAME property. Its value is 'Administrator'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding DB_PASSWORD property. Its value is '**********'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding COMPANYNAME property. Its value is 'TeamPulse'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding TARGETDIR property. Its value is 'C:\'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Modifying ISCORRECTNETFRAMEWORK40VERSION property. Its current value is '0'. Its new value: '1'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Modifying TEAMPULSE_CONNECTION_STRING property. Its current value is '**********'. Its new value: '**********'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Modifying SERVER_CONNECTION_STRING property. Its current value is '**********'. Its new value: '**********'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Modifying DB_LAST_CONNECTION_RESULT property. Its current value is '-1'. Its new value: '1'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding CURRENTDIRECTORY property. Its value is 'C:\'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding CLIENTPROCESSID property. Its value is '3612'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is 'C:\'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding ACTION property. Its value is 'INSTALL'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding EXECUTEACTION property. Its value is 'INSTALL'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding SECONDSEQUENCE property. Its value is '1'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding ROOTDRIVE property. Its value is 'C:\'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding INSTALLLEVEL property. Its value is '1000'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding MACHINEID property. Its value is '**********'.
    MSI (s) (98:28) [16:54:59:327]: PROPERTY CHANGE: Adding ADDLOCAL property. Its value is 'ProductFeature'.
    MSI (s) (98:28) [16:54:59:327]: Machine policy value 'DisableAutomaticApplicationShutdown' is 0
    MSI (s) (98:28) [16:54:59:328]: PROPERTY CHANGE: Adding MsiRestartManagerSessionKey property. Its value is '8c94f6dcb85eea4fb8d7cd401395d496'.
    MSI (s) (98:28) [16:54:59:328]: RESTART MANAGER: Session opened.
    MSI (s) (98:28) [16:54:59:328]: Engine has iefSecondSequence set to true.
    MSI (s) (98:28) [16:54:59:328]: TRANSFORMS property is now:
    MSI (s) (98:28) [16:54:59:328]: PROPERTY CHANGE: Deleting SOURCEDIR property. Its current value is 'C:\'.
    MSI (s) (98:28) [16:54:59:328]: PROPERTY CHANGE: Adding VersionDatabase property. Its value is '200'.
    MSI (s) (98:28) [16:54:59:329]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming
    MSI (s) (98:28) [16:54:59:330]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Favorites
    MSI (s) (98:28) [16:54:59:331]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts
    MSI (s) (98:28) [16:54:59:332]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Documents
    MSI (s) (98:28) [16:54:59:333]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
    MSI (s) (98:28) [16:54:59:334]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent
    MSI (s) (98:28) [16:54:59:334]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo
    MSI (s) (98:28) [16:54:59:335]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates
    MSI (s) (98:28) [16:54:59:335]: SHELL32::SHGetFolderPath returned: C:\ProgramData
    MSI (s) (98:28) [16:54:59:336]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Local
    MSI (s) (98:28) [16:54:59:337]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Pictures
    MSI (s) (98:28) [16:54:59:339]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    MSI (s) (98:28) [16:54:59:340]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    MSI (s) (98:28) [16:54:59:341]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
    MSI (s) (98:28) [16:54:59:341]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu
    MSI (s) (98:28) [16:54:59:342]: SHELL32::SHGetFolderPath returned: C:\Users\Administrator\Desktop
    MSI (s) (98:28) [16:54:59:344]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    MSI (s) (98:28) [16:54:59:345]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
    MSI (s) (98:28) [16:54:59:346]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs
    MSI (s) (98:28) [16:54:59:347]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu
    MSI (s) (98:28) [16:54:59:348]: SHELL32::SHGetFolderPath returned: C:\Users\Public\Desktop
    MSI (s) (98:28) [16:54:59:348]: SHELL32::SHGetFolderPath returned: C:\Windows\Fonts
    MSI (s) (98:28) [16:54:59:348]: Note: 1: 2898 2: MS Sans Serif 3: MS Sans Serif 4: 0 5: 16
    MSI (s) (98:28) [16:54:59:352]: MSI_LUA: Setting MsiRunningElevated property to 1 because the install is already running elevated.
    MSI (s) (98:28) [16:54:59:352]: PROPERTY CHANGE: Adding MsiRunningElevated property. Its value is '1'.
    MSI (s) (98:28) [16:54:59:352]: PROPERTY CHANGE: Adding Privileged property. Its value is '1'.
    MSI (s) (98:28) [16:54:59:352]: PROPERTY CHANGE: Adding DATABASE property. Its value is 'C:\Windows\Installer\5e8f9.msi'.
    MSI (s) (98:28) [16:54:59:352]: PROPERTY CHANGE: Adding OriginalDatabase property. Its value is 'C:\Telerik_TeamPulse_CommunityEdition_Q3_2010.msi'.
    MSI (s) (98:28) [16:54:59:352]: Machine policy value 'MsiDisableEmbeddedUI' is 0
    MSI (s) (98:28) [16:54:59:352]: EEUI - Disabling MsiEmbeddedUI for service because it's not a quiet/basic install
    MSI (s) (98:28) [16:54:59:352]: Note: 1: 2205 2:  3: PatchPackage
    MSI (s) (98:28) [16:54:59:352]: Machine policy value 'DisableRollback' is 0
    MSI (s) (98:28) [16:54:59:352]: User policy value 'DisableRollback' is 0
    MSI (s) (98:28) [16:54:59:352]: PROPERTY CHANGE: Adding UILevel property. Its value is '5'.
    MSI (s) (98:28) [16:54:59:353]: PROPERTY CHANGE: Adding Preselected property. Its value is '1'.
    MSI (s) (98:28) [16:54:59:353]: Doing action: INSTALL
    Action 16:54:59: INSTALL.
    Action start 16:54:59: INSTALL.
    MSI (s) (98:28) [16:54:59:355]: Running ExecuteSequence
    MSI (s) (98:28) [16:54:59:355]: Doing action: FindRelatedProducts
    Action 16:54:59: FindRelatedProducts. Searching for related applications
    Action start 16:54:59: FindRelatedProducts.
    MSI (s) (98:28) [16:54:59:356]: Skipping FindRelatedProducts action: already done on client side
    Action ended 16:54:59: FindRelatedProducts. Return value 0.
    MSI (s) (98:28) [16:54:59:357]: Skipping action: NoDowngrade (condition is false)
    MSI (s) (98:28) [16:54:59:357]: Doing action: SetCOMPANYNAME
    Action 16:54:59: SetCOMPANYNAME.
    Action start 16:54:59: SetCOMPANYNAME.
    Action ended 16:54:59: SetCOMPANYNAME. Return value 1.
    MSI (s) (98:28) [16:54:59:359]: Doing action: AppSearch
    Action 16:54:59: AppSearch. Searching for installed applications
    Action start 16:54:59: AppSearch.
    MSI (s) (98:28) [16:54:59:360]: Skipping AppSearch action: already done on client side
    Action ended 16:54:59: AppSearch. Return value 0.
    MSI (s) (98:28) [16:54:59:361]: Doing action: ValidateProductID
    Action 16:54:59: ValidateProductID.
    Action start 16:54:59: ValidateProductID.
    Action ended 16:54:59: ValidateProductID. Return value 1.
    MSI (s) (98:28) [16:54:59:362]: Doing action: CostInitialize
    Action 16:54:59: CostInitialize. Computing space requirements
    Action start 16:54:59: CostInitialize.
    MSI (s) (98:28) [16:54:59:364]: Machine policy value 'MaxPatchCacheSize' is 10
    MSI (s) (98:28) [16:54:59:364]: Baseline: Sorting baselines for {02E84302-F860-462A-BF16-FE2D92A4A06A}.
    MSI (s) (98:28) [16:54:59:364]: Baseline: New baseline 103.11.17 from transaction.
    MSI (s) (98:28) [16:54:59:364]: Baseline: Sorted order Native: Order 0.
    MSI (s) (98:28) [16:54:59:364]: Baseline Data Table:
    MSI (s) (98:28) [16:54:59:364]: ProductCode: {02E84302-F860-462A-BF16-FE2D92A4A06A} Version: 103.11.17 Attributes: 0 PatchId: Native BaselineId: -2147483648 Order: 0
    MSI (s) (98:28) [16:54:59:364]: Baseline File Table:
    MSI (s) (98:28) [16:54:59:365]: PROPERTY CHANGE: Adding CostingComplete property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2205 2:  3: Patch
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2205 2:  3: PatchPackage
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2205 2:  3: MsiPatchHeaders
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2205 2:  3: __MsiPatchFileList
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2205 2:  3: PatchPackage
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2228 2:  3: PatchPackage 4: SELECT `DiskId`, `PatchId`, `LastSequence` FROM `Media`, `PatchPackage` WHERE `Media`.`DiskId`=`PatchPackage`.`Media_` ORDER BY `DiskId` 
    MSI (s) (98:28) [16:54:59:365]: Delta compression fallback method for this product transaction is 'MSI 2.0 legacy obsolescence'
    MSI (s) (98:28) [16:54:59:365]: Note: 1: 2205 2:  3: Patch
    Action ended 16:54:59: CostInitialize. Return value 1.
    MSI (s) (98:28) [16:54:59:366]: Doing action: FileCost
    Action 16:54:59: FileCost. Computing space requirements
    Action start 16:54:59: FileCost.
    MSI (s) (98:28) [16:54:59:367]: Note: 1: 2205 2:  3: MsiAssembly
    MSI (s) (98:28) [16:54:59:367]: Note: 1: 2205 2:  3: Class
    MSI (s) (98:28) [16:54:59:367]: Note: 1: 2205 2:  3: Extension
    MSI (s) (98:28) [16:54:59:367]: Note: 1: 2205 2:  3: TypeLib
    Action ended 16:54:59: FileCost. Return value 1.
    MSI (s) (98:28) [16:54:59:368]: Doing action: CostFinalize
    Action 16:54:59: CostFinalize. Computing space requirements
    Action start 16:54:59: CostFinalize.
    MSI (s) (98:28) [16:54:59:369]: PROPERTY CHANGE: Adding OutOfDiskSpace property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:369]: PROPERTY CHANGE: Adding OutOfNoRbDiskSpace property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:369]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceAvailable property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:369]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceRequired property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:369]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceRemaining property. Its value is '0'.
    MSI (s) (98:28) [16:54:59:369]: Note: 1: 2205 2:  3: Patch
    MSI (s) (98:28) [16:54:59:369]: Note: 1: 2205 2:  3: Condition
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding ProgramTelerikDir property. Its value is 'C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding ProgramMenuDir property. Its value is 'C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\TeamPulse\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding TelerikFolder property. Its value is 'C:\Program Files\Telerik\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding logs.Folder property. Its value is 'C:\Program Files\Telerik\TeamPulse\Logs\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding IntegrationService property. Its value is 'C:\Program Files\Telerik\TeamPulse\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding Release property. Its value is 'C:\Program Files\Telerik\TeamPulse\IntegrationService\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding MappingDefaults property. Its value is 'C:\Program Files\Telerik\TeamPulse\IntegrationService\MappingDefaults\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding UserManagementRoot property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\'.
    MSI (s) (98:28) [16:54:59:370]: PROPERTY CHANGE: Adding Views property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Welcome property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Welcome\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Activation property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Activation\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Shared property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Shared\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding License property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Home property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding EditorTemplates property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\EditorTemplates\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Scripts property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Scripts\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Images property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Images\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding Content property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\Content\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding bin property. Its value is 'C:\Program Files\Telerik\TeamPulse\UserManagement\bin\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding WebRoot property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding binFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\bin\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding ClientBinFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\ClientBin\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding FeedsFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Feeds\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding ServiceFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Services\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding TempStorage.Folder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Services\TempStorage\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding ImagesFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Images\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding DownloadFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Download\'.
    MSI (s) (98:28) [16:54:59:371]: PROPERTY CHANGE: Adding CommonFolder property. Its value is 'C:\Program Files\Telerik\TeamPulse\wwwroot\Common\'.
    MSI (s) (98:28) [16:54:59:371]: Target path resolution complete. Dumping Directory table...
    MSI (s) (98:28) [16:54:59:371]: Note: target paths subject to change (via custom actions or browsing)
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: TARGETDIR    , Object: C:\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: WindowsFolder    , Object: C:\Windows\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: ProgramMenuFolder    , Object: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: ProgramTelerikDir    , Object: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: ProgramMenuDir   , Object: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Telerik\TeamPulse\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: ProgramFilesFolder   , Object: C:\Program Files\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: TelerikFolder    , Object: C:\Program Files\Telerik\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: INSTALLLOCATION  , Object: C:\Program Files\Telerik\TeamPulse\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: logs.Folder  , Object: C:\Program Files\Telerik\TeamPulse\Logs\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: IntegrationService   , Object: C:\Program Files\Telerik\TeamPulse\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Release  , Object: C:\Program Files\Telerik\TeamPulse\IntegrationService\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: MappingDefaults  , Object: C:\Program Files\Telerik\TeamPulse\IntegrationService\MappingDefaults\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: UserManagementRoot   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Views    , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Welcome  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Welcome\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Activation   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Activation\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Shared   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Shared\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: License  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Home , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: EditorTemplates  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Views\Home\EditorTemplates\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Scripts  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Scripts\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Images   , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Images\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: Content  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\Content\
    MSI (s) (98:28) [16:54:59:371]: Dir (target): Key: bin  , Object: C:\Program Files\Telerik\TeamPulse\UserManagement\bin\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: WebRoot  , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: binFolder    , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\bin\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: ClientBinFolder  , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\ClientBin\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: FeedsFolder  , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Feeds\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: ServiceFolder    , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Services\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: TempStorage.Folder   , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Services\TempStorage\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: ImagesFolder , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Images\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: DownloadFolder   , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Download\
    MSI (s) (98:28) [16:54:59:372]: Dir (target): Key: CommonFolder , Object: C:\Program Files\Telerik\TeamPulse\wwwroot\Common\
    MSI (s) (98:28) [16:54:59:372]: Note: 1: 2205 2:  3: MsiAssembly
    MSI (s) (98:28) [16:54:59:372]: Note: 1: 2228 2:  3: MsiAssembly 4:  SELECT `MsiAssembly`.`Attributes`, `MsiAssembly`.`File_Application`, `MsiAssembly`.`File_Manifest`,  `Component`.`KeyPath` FROM `MsiAssembly`, `Component` WHERE  `MsiAssembly`.`Component_` = `Component`.`Component` AND `MsiAssembly`.`Component_` = ?
    Action ended 16:54:59: CostFinalize. Return value 1.
    MSI (s) (98:28) [16:54:59:374]: Doing action: InstallValidate
    Action 16:54:59: InstallValidate. Validating install
    Action start 16:54:59: InstallValidate.
    MSI (s) (98:28) [16:54:59:375]: PROPERTY CHANGE: Deleting MsiRestartManagerSessionKey property. Its current value is '8c94f6dcb85eea4fb8d7cd401395d496'.
    MSI (s) (98:28) [16:54:59:375]: Feature: ProductFeature; Installed: Absent;   Request: Local;   Action: Local
    MSI (s) (98:28) [16:54:59:375]: Component: AppRootFiles1; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: AppRootFiles2; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: MySite_root_Files; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: CommonFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: DownloadFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: ImageFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: ServiceFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: TempStorage.Component; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: FeedServiceFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: ClientBinFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: binFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: WebSite_Config; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:375]: Component: WebSiteIIS6Config; Installed: Absent;   Request: Local;   Action: Null;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementRootFiles; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementConfigIIS6; Installed: Absent;   Request: Local;   Action: Null;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementConfigIIS7; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementBin; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagemetnContent; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementImages; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementScripts; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: Web.config_1; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagemntHome; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagemntHomeEditorTemplates; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementLicense; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UsermanagementShared; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementActivation; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: UserManagementWelcome; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: IntegrationServiceMain; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: TfsSyncMappingDefaults; Installed: Absent;   Request: Local;   Action: Null;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: logs.Component; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: TelerikMenuShortcuts; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: StartMenuShortcuts; Installed: Absent;   Request: Local;   Action: Local;   Client State: Unknown
    MSI (s) (98:28) [16:54:59:376]: Component: __TelerikMenuShortcuts65; Installed: Null;   Request: Local;   Action: Local;   Client State: Null
    MSI (s) (98:28) [16:54:59:376]: Component: __StartMenuShortcuts65; Installed: Null;   Request: Local;   Action: Local;   Client State: Null
    MSI (s) (98:28) [16:54:59:376]: Component: __MySite_root_Files65; Installed: Null;   Request: Local;   Action: Local;   Client State: Null
    MSI (s) (98:28) [16:54:59:376]: Component: __AppRootFiles165; Installed: Null;   Request: Local;   Action: Local;   Client State: Null
    MSI (s) (98:28) [16:54:59:376]: Component: __AppRootFiles265; Installed: Null;   Request: Local;   Action: Local;   Client State: Null
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: BindImage
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: ProgId
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: PublishComponent
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: SelfReg
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: Extension
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: Font
    MSI (s) (98:28) [16:54:59:376]: Note: 1: 2205 2:  3: Class
    MSI (c) (1C:B0) [16:54:59:376]: Note: 1: 2262 2: Billboard 3: -2147287038
    MSI (s) (98:28) [16:54:59:377]: Note: 1: 2205 2:  3: _RemoveFilePath
    MSI (s) (98:28) [16:54:59:402]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'.
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: BindImage
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: ProgId
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: PublishComponent
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: SelfReg
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: Extension
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: Font
    MSI (s) (98:28) [16:54:59:402]: Note: 1: 2205 2:  3: Class
    MSI (s) (98:28) [16:54:59:403]: Note: 1: 2727 2: 
    MSI (s) (98:28) [16:54:59:407]: Note: 1: 2727 2: 
    Action ended 16:54:59: InstallValidate. Return value 1.
    MSI (s) (98:28) [16:54:59:408]: Doing action: RemoveExistingProducts
    Action 16:54:59: RemoveExistingProducts. Removing applications
    Action start 16:54:59: RemoveExistingProducts.
    Action ended 16:54:59: RemoveExistingProducts. Return value 1.
    MSI (s) (98:28) [16:54:59:411]: Doing action: InstallInitialize
    Action 16:54:59: InstallInitialize.
    Action start 16:54:59: InstallInitialize.
    MSI (s) (98:28) [16:54:59:412]: Machine policy value 'AlwaysInstallElevated' is 0
    MSI (s) (98:28) [16:54:59:412]: User policy value 'AlwaysInstallElevated' is 0
    MSI (s) (98:28) [16:54:59:412]: BeginTransaction: Locking Server
    MSI (s) (98:28) [16:54:59:413]: Note: 1: 1715 2: Telerik TeamPulse
    MSI (s) (98:28) [16:54:59:413]: Calling SRSetRestorePoint API. dwRestorePtType: 0, dwEventType: 102, llSequenceNumber: 0, szDescription: "Installed Telerik TeamPulse".
    MSI (s) (98:28) [16:54:59:413]: The call to SRSetRestorePoint API failed. Returned status: 0. GetLastError() returned: 127
    MSI (s) (98:28) [16:54:59:413]: Server not locked: locking for product {02E84302-F860-462A-BF16-FE2D92A4A06A}
    Action ended 16:54:59: InstallInitialize. Return value 1.
    MSI (s) (98:28) [16:54:59:656]: Doing action: ProcessComponents
    Action 16:54:59: ProcessComponents. Updating component registration
    Action start 16:54:59: ProcessComponents.
    MSI (s) (98:28) [16:54:59:658]: Note: 1: 2205 2:  3: MsiPatchCertificate
    MSI (s) (98:28) [16:54:59:658]: LUA patching is disabled: missing MsiPatchCertificate table
    MSI (s) (98:28) [16:54:59:658]: Resolving source.
    MSI (s) (98:28) [16:54:59:658]: Resolving source to launched-from source.
    MSI (s) (98:28) [16:54:59:658]: Setting launched-from source as last-used.
    MSI (s) (98:28) [16:54:59:659]: PROPERTY CHANGE: Adding SourceDir property. Its value is 'C:\'.
    MSI (s) (98:28) [16:54:59:659]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is 'C:\'.
    MSI (s) (98:28) [16:54:59:659]: PROPERTY CHANGE: Adding SourcedirProduct property. Its value is '{02E84302-F860-462A-BF16-FE2D92A4A06A}'.
    MSI (s) (98:28) [16:54:59:659]: SOURCEDIR ==> C:\
    MSI (s) (98:28) [16:54:59:659]: SOURCEDIR product ==> {02E84302-F860-462A-BF16-FE2D92A4A06A}
    MSI (s) (98:28) [16:54:59:659]: Determining source type
    MSI (s) (98:28) [16:54:59:659]: Source type from package 'Telerik_TeamPulse_CommunityEdition_Q3_2010.msi': 2
    MSI (s) (98:28) [16:54:59:659]: Source path resolution complete. Dumping Directory table...
    MSI (s) (98:28) [16:54:59:659]: Dir (source): Key: TARGETDIR    , Object: C:\   , LongSubPath:  , ShortSubPath:
    MSI (s) (98:28) [16:54:59:659]: Dir (source): Key: WindowsFolder    , Object: C:\   , LongSubPath:  , ShortSubPath:
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ProgramMenuFolder    , Object: C:\   , LongSubPath:  , ShortSubPath:
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ProgramTelerikDir    , Object: C:\   , LongSubPath: Telerik\ , ShortSubPath:
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ProgramMenuDir   , Object: C:\   , LongSubPath: Telerik\TeamPulse\   , ShortSubPath: Telerik\sbxrd0kv\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ProgramFilesFolder   , Object: C:\   , LongSubPath:  , ShortSubPath:
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: TelerikFolder    , Object: C:\   , LongSubPath: Telerik\ , ShortSubPath:
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: INSTALLLOCATION  , Object: C:\   , LongSubPath: Telerik\TeamPulse\   , ShortSubPath: Telerik\lsx7_81t\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: logs.Folder  , Object: C:\   , LongSubPath: Telerik\TeamPulse\Logs\  , ShortSubPath: Telerik\lsx7_81t\Logs\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: IntegrationService   , Object: C:\   , LongSubPath: Telerik\TeamPulse\   , ShortSubPath: Telerik\lsx7_81t\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Release  , Object: C:\   , LongSubPath: Telerik\TeamPulse\IntegrationService\    , ShortSubPath: Telerik\lsx7_81t\5c8fgzot\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: MappingDefaults  , Object: C:\   , LongSubPath: Telerik\TeamPulse\IntegrationService\MappingDefaults\    , ShortSubPath: Telerik\lsx7_81t\5c8fgzot\vt4o93le\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: UserManagementRoot   , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\    , ShortSubPath: Telerik\lsx7_81t\snusbtlo\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Views    , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\  , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Welcome  , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\Welcome\  , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\Welcome\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Activation   , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\Activation\   , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\rlik-iha\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Shared   , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\Shared\   , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\Shared\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: License  , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\License\  , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\License\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Home , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\Home\ , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\Home\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: EditorTemplates  , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Views\Home\EditorTemplates\ , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Views\Home\ayne0dx-\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Scripts  , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Scripts\    , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Scripts\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Images   , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Images\ , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Images\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: Content  , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\Content\    , ShortSubPath: Telerik\lsx7_81t\snusbtlo\Content\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: bin  , Object: C:\   , LongSubPath: Telerik\TeamPulse\UserManagement\bin\    , ShortSubPath: Telerik\lsx7_81t\snusbtlo\bin\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: WebRoot  , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\   , ShortSubPath: Telerik\lsx7_81t\wwwroot\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: binFolder    , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\bin\   , ShortSubPath: Telerik\lsx7_81t\wwwroot\bin\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ClientBinFolder  , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\ClientBin\ , ShortSubPath: Telerik\lsx7_81t\wwwroot\9jnayfvp\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: FeedsFolder  , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\Feeds\ , ShortSubPath: Telerik\lsx7_81t\wwwroot\Feeds\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ServiceFolder    , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\Services\  , ShortSubPath: Telerik\lsx7_81t\wwwroot\Services\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: TempStorage.Folder   , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\Services\TempStorage\  , ShortSubPath: Telerik\lsx7_81t\wwwroot\Services\_zr9-3y4\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: ImagesFolder , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\Images\    , ShortSubPath: Telerik\lsx7_81t\wwwroot\Images\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: DownloadFolder   , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\Download\  , ShortSubPath: Telerik\lsx7_81t\wwwroot\Download\
    MSI (s) (98:28) [16:54:59:660]: Dir (source): Key: CommonFolder , Object: C:\   , LongSubPath: Telerik\TeamPulse\wwwroot\Common\    , ShortSubPath: Telerik\lsx7_81t\wwwroot\Common\
    Action 16:54:59: GenerateScript. Generating script operations for action:
    GenerateScript: Updating component registration
    Action ended 16:54:59: ProcessComponents. Return value 1.
    MSI (s) (98:28) [16:54:59:692]: Doing action: UnpublishFeatures
    Action 16:54:59: UnpublishFeatures. Unpublishing Product Features
    Action start 16:54:59: UnpublishFeatures.
    Action ended 16:54:59: UnpublishFeatures. Return value 1.
    MSI (s) (98:28) [16:54:59:694]: Doing action: SchedSecureObjectsRollback
    Action 16:54:59: SchedSecureObjectsRollback.
    Action start 16:54:59: SchedSecureObjectsRollback.
    MSI (s) (98:28) [16:54:59:699]: Creating MSIHANDLE (154) of type 790542 for thread 1832
    MSI (s) (98:0C) [16:54:59:699]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI528A.tmp, Entrypoint: SchedSecureObjectsRollback
    MSI (s) (98:D4) [16:54:59:699]: Generating random cookie.
    MSI (s) (98:D4) [16:54:59:710]: Created Custom Action Server with PID 3580 (0xDFC).
    MSI (s) (98:D8) [16:54:59:740]: Running as a service.
    MSI (s) (98:D8) [16:54:59:742]: Hello, I'm your 32bit Impersonated custom action server.
    MSI (s) (98!18) [16:54:59:747]: Creating MSIHANDLE (155) of type 790541 for thread 792
    MSI (s) (98!18) [16:54:59:748]: Creating MSIHANDLE (156) of type 790540 for thread 792
    MSI (s) (98!18) [16:54:59:748]: Creating MSIHANDLE (157) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:749]: Creating MSIHANDLE (158) of type 790531 for thread 792
    SchedSecureObjectsRollback:  Failed to store ACL rollback information with error 0x80070003 - continuing
    MSI (s) (98!18) [16:54:59:750]: Closing MSIHANDLE (158) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:750]: Closing MSIHANDLE (157) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:750]: Creating MSIHANDLE (159) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:751]: PROPERTY CHANGE: Adding ExecSecureObjectsRollback property. Its value is 'C:\Program Files\Telerik\TeamPulse\Logs\€CreateFolder€D:AI(A;;0x17019f;;;WD)(A;OICIIO;DCLCSDWDGWGR;;;WD)(A;ID;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;CIIOID;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;ID;FA;;;SY)(A;OICIIOID;GA;;;SY)(A;ID;FA;;;BA)(A;OICIIOID;GA;;;BA)(A;ID;0x1200a9;;;BU)(A;OICIIOID;GXGR;;;BU)(A;OICIIOID;GA;;;CO)€0'.
    MSI (s) (98!18) [16:54:59:751]: Creating MSIHANDLE (160) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:752]: Closing MSIHANDLE (160) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:752]: Doing action: ExecSecureObjectsRollback
    Action 16:54:59: ExecSecureObjectsRollback.
    Action start 16:54:59: ExecSecureObjectsRollback.
    ExecSecureObjectsRollback:
    Action ended 16:54:59: ExecSecureObjectsRollback. Return value 1.
    MSI (s) (98!18) [16:54:59:756]: Closing MSIHANDLE (159) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:756]: Creating MSIHANDLE (161) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:756]: Creating MSIHANDLE (162) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Closing MSIHANDLE (162) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Creating MSIHANDLE (163) of type 790540 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Creating MSIHANDLE (164) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Creating MSIHANDLE (165) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Creating MSIHANDLE (166) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Closing MSIHANDLE (166) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Closing MSIHANDLE (164) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:757]: Closing MSIHANDLE (165) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:758]: Closing MSIHANDLE (163) of type 790540 for thread 792
    MSI (s) (98!18) [16:54:59:758]: Creating MSIHANDLE (167) of type 790531 for thread 792
    SchedSecureObjectsRollback:  Failed to store ACL rollback information with error 0x80070424 - continuing
    MSI (s) (98!18) [16:54:59:759]: Closing MSIHANDLE (167) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:759]: Closing MSIHANDLE (161) of type 790531 for thread 792
    MSI (s) (98!18) [16:54:59:759]: Closing MSIHANDLE (155) of type 790541 for thread 792
    MSI (s) (98!18) [16:54:59:759]: Closing MSIHANDLE (156) of type 790540 for thread 792
    MSI (s) (98:0C) [16:54:59:759]: Closing MSIHANDLE (154) of type 790542 for thread 1832
    Action ended 16:54:59: SchedSecureObjectsRollback. Return value 1.
    MSI (s) (98:28) [16:54:59:760]: Doing action: ConfigureTeamPulseWebSites.SetProperty
    Action 16:54:59: ConfigureTeamPulseWebSites.SetProperty.
    Action start 16:54:59: ConfigureTeamPulseWebSites.SetProperty.
    MSI (s) (98:28) [16:54:59:762]: PROPERTY CHANGE: Adding ConfigureTeamPulseWebSites property. Its value is 'SystemFolder=C:\Windows\system32\;INSTALLDIR=C:\Program Files\Telerik\TeamPulse\;NETFRAMEWORK40=C:\Windows\Microsoft.NET\Framework\v4.0.30319\'.
    Action ended 16:54:59: ConfigureTeamPulseWebSites.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:763]: Doing action: CleanupExistingApplicationPool.SetProperty
    Action 16:54:59: CleanupExistingApplicationPool.SetProperty.
    Action start 16:54:59: CleanupExistingApplicationPool.SetProperty.
    MSI (s) (98:28) [16:54:59:764]: PROPERTY CHANGE: Adding CleanupExistingApplicationPool property. Its value is 'SystemFolder=C:\Windows\system32\'.
    Action ended 16:54:59: CleanupExistingApplicationPool.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:765]: Doing action: CleanupExistingTeampulseSite.SetProperty
    Action 16:54:59: CleanupExistingTeampulseSite.SetProperty.
    Action start 16:54:59: CleanupExistingTeampulseSite.SetProperty.
    MSI (s) (98:28) [16:54:59:766]: PROPERTY CHANGE: Adding CleanupExistingTeampulseSite property. Its value is 'SystemFolder=C:\Windows\system32\'.
    Action ended 16:54:59: CleanupExistingTeampulseSite.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:767]: Doing action: CleanupExistingUserManagementSite.SetProperty
    Action 16:54:59: CleanupExistingUserManagementSite.SetProperty.
    Action start 16:54:59: CleanupExistingUserManagementSite.SetProperty.
    MSI (s) (98:28) [16:54:59:769]: PROPERTY CHANGE: Adding CleanupExistingUserManagementSite property. Its value is 'SystemFolder=C:\Windows\system32\'.
    Action ended 16:54:59: CleanupExistingUserManagementSite.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:769]: Doing action: FixupIIS.SetProperty
    Action 16:54:59: FixupIIS.SetProperty.
    Action start 16:54:59: FixupIIS.SetProperty.
    MSI (s) (98:28) [16:54:59:771]: PROPERTY CHANGE: Adding FixupIIS property. Its value is 'SystemFolder=C:\Windows\system32\;INSTALLDIR=C:\Program Files\Telerik\TeamPulse\;NETFRAMEWORK40=C:\Windows\Microsoft.NET\Framework\v4.0.30319\'.
    Action ended 16:54:59: FixupIIS.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:771]: Doing action: CreateApplicationPool.SetProperty
    Action 16:54:59: CreateApplicationPool.SetProperty.
    Action start 16:54:59: CreateApplicationPool.SetProperty.
    MSI (s) (98:28) [16:54:59:773]: PROPERTY CHANGE: Adding CreateApplicationPool property. Its value is '**********'.
    Action ended 16:54:59: CreateApplicationPool.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:774]: Doing action: RegisterNamespaces.SetProperty
    Action 16:54:59: RegisterNamespaces.SetProperty.
    Action start 16:54:59: RegisterNamespaces.SetProperty.
    MSI (s) (98:28) [16:54:59:775]: PROPERTY CHANGE: Adding RegisterNamespaces property. Its value is 'DB_DOMAIN=BUMBLEBEE;DB_USERNAME=Administrator;NETSH=C:\Windows\system32\Netsh.exe'.
    Action ended 16:54:59: RegisterNamespaces.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:776]: Doing action: UnregisterNamespaces.SetProperty
    Action 16:54:59: UnregisterNamespaces.SetProperty.
    Action start 16:54:59: UnregisterNamespaces.SetProperty.
    MSI (s) (98:28) [16:54:59:778]: PROPERTY CHANGE: Adding UnregisterNamespaces property. Its value is 'NETSH=C:\Windows\system32\Netsh.exe'.
    Action ended 16:54:59: UnregisterNamespaces.SetProperty. Return value 1.
    MSI (s) (98:28) [16:54:59:778]: Doing action: CleanupExistingTeampulseSite
    Action 16:54:59: CleanupExistingTeampulseSite.
    Action start 16:54:59: CleanupExistingTeampulseSite.
    CleanupExistingTeampulseSite:
    Action ended 16:54:59: CleanupExistingTeampulseSite. Return value 1.
    MSI (s) (98:28) [16:54:59:788]: Doing action: CleanupExistingUserManagementSite
    Action 16:54:59: CleanupExistingUserManagementSite.
    Action start 16:54:59: CleanupExistingUserManagementSite.
    CleanupExistingUserManagementSite:
    Action ended 16:54:59: CleanupExistingUserManagementSite. Return value 1.
    MSI (s) (98:28) [16:54:59:797]: Doing action: CleanupExistingApplicationPool
    Action 16:54:59: CleanupExistingApplicationPool.
    Action start 16:54:59: CleanupExistingApplicationPool.
    CleanupExistingApplicationPool:
    Action ended 16:54:59: CleanupExistingApplicationPool. Return value 1.
    MSI (s) (98:28) [16:54:59:807]: Doing action: FixupIIS
    Action 16:54:59: FixupIIS.
    Action start 16:54:59: FixupIIS.
    FixupIIS:
    Action ended 16:54:59: FixupIIS. Return value 1.
    MSI (s) (98:28) [16:54:59:816]: Doing action: StopServices
    Action 16:54:59: StopServices. Stopping services
    Action start 16:54:59: StopServices.
    StopServices: Service: Stopping services
    Action ended 16:54:59: StopServices. Return value 1.
    MSI (s) (98:28) [16:54:59:819]: Doing action: DeleteServices
    Action 16:54:59: DeleteServices. Deleting services
    Action start 16:54:59: DeleteServices.
    DeleteServices: Service: Deleting services
    Action ended 16:54:59: DeleteServices. Return value 1.
    MSI (s) (98:28) [16:54:59:821]: Doing action: RemoveRegistryValues
    Action 16:54:59: RemoveRegistryValues. Removing system registry values
    Action start 16:54:59: RemoveRegistryValues.
    Action ended 16:54:59: RemoveRegistryValues. Return value 1.
    MSI (s) (98:28) [16:54:59:824]: Doing action: RemoveShortcuts
    Action 16:54:59: RemoveShortcuts. Removing shortcuts
    Action start 16:54:59: RemoveShortcuts.
    Action ended 16:54:59: RemoveShortcuts. Return value 1.
    MSI (s) (98:28) [16:54:59:826]: Doing action: UnregisterNamespaces
    Action 16:54:59: UnregisterNamespaces.
    Action start 16:54:59: UnregisterNamespaces.
    UnregisterNamespaces:
    Action ended 16:54:59: UnregisterNamespaces. Return value 1.
    MSI (s) (98:28) [16:54:59:834]: Doing action: RemoveFiles
    Action 16:54:59: RemoveFiles. Removing files
    Action start 16:54:59: RemoveFiles.
    Action ended 16:54:59: RemoveFiles. Return value 1.
    MSI (s) (98:28) [16:54:59:837]: Doing action: RemoveFolders
    Action 16:54:59: RemoveFolders. Removing folders
    Action start 16:54:59: RemoveFolders.
    Action ended 16:54:59: RemoveFolders. Return value 1.
    MSI (s) (98:28) [16:54:59:838]: Doing action: CreateFolders
    Action 16:54:59: CreateFolders. Creating folders
    Action start 16:54:59: CreateFolders.
    CreateFolders: Folder: Creating folders
    Action ended 16:54:59: CreateFolders. Return value 1.
    MSI (s) (98:28) [16:54:59:841]: Doing action: ConfigureUsers
    Action 16:54:59: ConfigureUsers.
    Action start 16:54:59: ConfigureUsers.
    MSI (s) (98:28) [16:54:59:846]: Creating MSIHANDLE (168) of type 790542 for thread 1832
    MSI (s) (98:F8) [16:54:59:846]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI5327.tmp, Entrypoint: ConfigureUsers
    MSI (s) (98:D8) [16:54:59:852]: Creating MSIHANDLE (169) of type 790541 for thread 1240
    MSI (s) (98:D8) [16:54:59:853]: Creating MSIHANDLE (170) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:54:59:853]: Closing MSIHANDLE (170) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:54:59:854]: Creating MSIHANDLE (171) of type 790540 for thread 1240
    MSI (s) (98:D8) [16:54:59:854]: Creating MSIHANDLE (172) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:54:59:855]: Creating MSIHANDLE (173) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:54:59:855]: Closing MSIHANDLE (173) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:54:59:855]: Closing MSIHANDLE (172) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:54:59:856]: Closing MSIHANDLE (171) of type 790540 for thread 1240
    MSI (s) (98:D8) [16:55:00:038]: PROPERTY CHANGE: Modifying CreateUser property. Its current value is '**********'. Its new value: '**********'.
    MSI (s) (98:D8) [16:55:00:038]: Creating MSIHANDLE (174) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:55:00:039]: Closing MSIHANDLE (174) of type 790531 for thread 1240
    MSI (s) (98:D8) [16:55:00:039]: Doing action: CreateUser
    Action 16:55:00: CreateUser.
    Action start 16:55:00: CreateUser.
    CreateUser:
    Action ended 16:55:00: CreateUser. Return value 1.
    MSI (s) (98:D8) [16:55:00:044]: Closing MSIHANDLE (169) of type 790541 for thread 1240
    MSI (s) (98:F8) [16:55:00:044]: Closing MSIHANDLE (168) of type 790542 for thread 1832
    Action ended 16:55:00: ConfigureUsers. Return value 1.
    MSI (s) (98:28) [16:55:00:045]: Doing action: InstallFiles
    Action 16:55:00: InstallFiles. Copying new files
    Action start 16:55:00: InstallFiles.
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'TeamPulse.url' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'UserManagement.url' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'MySite_Default_aspx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Common1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Download1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Image1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Service1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Feed1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'TeamPulse.Client.xap' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'MainAssembly' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Global.asax' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'um.log4net.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:047]: The file represented by File table key 'Site.css' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'Delete.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'script.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'Web.config_1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'Create.aspx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'SoleMemberProjectRow.ascx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'Index.aspx_1' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'Error.aspx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'ActivationIndex' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'WelcomeIndex' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'Integration.Service.exe' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'MySite_MediaTypes_xml' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'MySite_Web_Config' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'TeamPulse.Core' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'SilverlightJS' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'ClientAccessPolicy' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:048]: The file represented by File table key 'SplashScreen.xaml' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'SplashScreen.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'favicon.ico' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'TeamPulse.ico' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'BrowserHistoryScript.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Common2' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Common3' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'bg.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Image2' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Image3' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Service2' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Service3' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Service4' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Service5' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Service6' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Service7' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:049]: The file represented by File table key 'Feed2' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'TeamPulse.Client' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'Telerik.Web.UI' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'Telerik.Licensing' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'TeamPulse.Shared.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'TeamPulse.Shared.FullFramework.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'TeamPulse.Reporting.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'log4net' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'log4net.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'TeamPulse.Server.Licensing' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'Telerik.Windows.RadUploadHandler' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'Web.config' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'umfavicon.ico' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'UserManagement.ico' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'System.Data.Linq.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'System.Web.Mvc.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:050]: The file represented by File table key 'System.Web.Mvc.xml' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'TeamPulse.Core.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'TeamPulse.Server.Licensing.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'TeamPulse.UserManagement.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'TeamPulse.Shared.FullFramework' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'Telerik.Licensing.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'WelcomeScreens.css' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'Edit.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'logo.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'bgFade.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'bgWelcome.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'box_icon.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'btn_blog_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'btn_blog_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'btn_documentation_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'btn_documentation_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:051]: The file represented by File table key 'btn_forums_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_forums_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_kb_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_kb_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_supportTicket_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_supportTicket_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_video_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'btn_video_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'greyLine.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'launchTeamPulse_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'launchTeamPulse_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'launchUserManagement_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'launchUserManagement_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'purchase_s1.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'purchase_s2.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'BannerCommunity.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'BannerStandard.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:052]: The file represented by File table key 'IconActivate.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'IconLaunchTeamPulse.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'IconUserManagement.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'LogoCommunity.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'Ok_48.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'redgreyline.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'StandardBg.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'White.png' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'jquery_1.3.2_vsdoc.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'jquery_1.3.2.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'jquery_1.3.2.min.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'jquery.validate_vsdoc.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'jquery.validate.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'jquery.validate.min.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'MicrosoftAjax.debug.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'MicrosoftAjax.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:053]: The file represented by File table key 'MicrosoftMvcAjax.debug.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'MicrosoftMvcAjax.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'MicrosoftMvcJQueryValidation.js' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Delete.aspx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Edit.aspx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Index.aspx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'LicenseInfo.ascx' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Site.Master' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'ActivationDelete' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'WelcomeIndexCommunity' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'ClientAccessPolicy.xml' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Microsoft.Practices.Composite.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Microsoft.Practices.ServiceLocation.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Microsoft.Practices.Unity.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Microsoft.WindowsAzure.StorageClient.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'int.TeamPulse.Core.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Integration.Common.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:054]: The file represented by File table key 'Integration.Core.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'Integration.Service.exe.config' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'Integration.TeamFoundationServer.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'Reporting.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'Shared.FullFramework.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'Telerik.Web.UI.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'int.Telerik.Licensing.dll' has no eligible binary patches
    MSI (s) (98:28) [16:55:00:055]: The file represented by File table key 'int.TeamPulse.Server.Licensing.dll' has no eligible binary patches
    InstallFiles: File: Copying new files,  Directory: ,  Size:
    MSI (s) (98:28) [16:55:00:056]: Note: 1: 2205 2:  3: Patch
    MSI (s) (98:28) [16:55:00:056]: Note: 1: 2228 2:  3: Patch 4: SELECT `Patch`.`File_`, `Patch`.`Header`, `Patch`.`Attributes`, `Patch`.`Sequence`, `Patch`.`StreamRef_` FROM `Patch` WHERE `Patch`.`File_` = ? AND `Patch`.`#_MsiActive`=? ORDER BY `Patch`.`Sequence`
    MSI (s) (98:28) [16:55:00:056]: Note: 1: 2205 2:  3: MsiSFCBypass
    MSI (s) (98:28) [16:55:00:056]: Note: 1: 2228 2:  3: MsiSFCBypass 4: SELECT `File_` FROM `MsiSFCBypass` WHERE `File_` = ?
    MSI (s) (98:28) [16:55:00:056]: Note: 1: 2205 2:  3: MsiPatchHeaders
    MSI (s) (98:28) [16:55:00:056]: Note: 1: 2228 2:  3: MsiPatchHeaders 4: SELECT `Header` FROM `MsiPatchHeaders` WHERE `StreamRef` = ?
    MSI (s) (98:28) [16:55:00:057]: Note: 1: 2205 2:  3: PatchPackage
    MSI (s) (98:28) [16:55:00:057]: Note: 1: 2205 2:  3: MsiPatchHeaders
    MSI (s) (98:28) [16:55:00:057]: Note: 1: 2205 2:  3: PatchPackage
    Action ended 16:55:00: InstallFiles. Return value 1.
    MSI (s) (98:28) [16:55:00:200]: Doing action: DuplicateFiles
    Action 16:55:00: DuplicateFiles. Creating duplicate files
    Action start 16:55:00: DuplicateFiles.
    Action ended 16:55:00: DuplicateFiles. Return value 1.
    MSI (s) (98:28) [16:55:00:202]: Doing action: SchedXmlFile
    Action 16:55:00: SchedXmlFile.
    Action start 16:55:00: SchedXmlFile.
    MSI (s) (98:28) [16:55:00:206]: Creating MSIHANDLE (175) of type 790542 for thread 1832
    MSI (s) (98:5C) [16:55:00:206]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI548F.tmp, Entrypoint: SchedXmlFile
    MSI (s) (98!0C) [16:55:00:218]: Creating MSIHANDLE (176) of type 790541 for thread 2316
    MSI (s) (98!0C) [16:55:00:219]: Creating MSIHANDLE (177) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:219]: Closing MSIHANDLE (177) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:219]: Creating MSIHANDLE (178) of type 790540 for thread 2316
    MSI (s) (98!0C) [16:55:00:219]: Creating MSIHANDLE (179) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:220]: Creating MSIHANDLE (180) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:220]: Closing MSIHANDLE (180) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:220]: Creating MSIHANDLE (181) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:221]: Closing MSIHANDLE (181) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:221]: Creating MSIHANDLE (182) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:221]: Closing MSIHANDLE (182) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:221]: Closing MSIHANDLE (179) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:222]: Creating MSIHANDLE (183) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:222]: Creating MSIHANDLE (184) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:222]: Closing MSIHANDLE (184) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:223]: Creating MSIHANDLE (185) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:223]: Closing MSIHANDLE (185) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:223]: Creating MSIHANDLE (186) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:223]: Closing MSIHANDLE (186) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:223]: Closing MSIHANDLE (183) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:224]: Creating MSIHANDLE (187) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:224]: Creating MSIHANDLE (188) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:224]: Closing MSIHANDLE (188) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:225]: Creating MSIHANDLE (189) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:225]: Closing MSIHANDLE (189) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:225]: Creating MSIHANDLE (190) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:225]: Closing MSIHANDLE (190) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:226]: Closing MSIHANDLE (187) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:226]: Creating MSIHANDLE (191) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:226]: Creating MSIHANDLE (192) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:226]: Closing MSIHANDLE (192) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:226]: Creating MSIHANDLE (193) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:227]: Closing MSIHANDLE (193) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:227]: Creating MSIHANDLE (194) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:227]: Closing MSIHANDLE (194) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:227]: Closing MSIHANDLE (191) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:227]: Creating MSIHANDLE (195) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:228]: Creating MSIHANDLE (196) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:228]: Closing MSIHANDLE (196) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:228]: Creating MSIHANDLE (197) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:228]: Closing MSIHANDLE (197) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:229]: Creating MSIHANDLE (198) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:229]: Closing MSIHANDLE (198) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:229]: Closing MSIHANDLE (195) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:229]: Creating MSIHANDLE (199) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:230]: Creating MSIHANDLE (200) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:230]: Closing MSIHANDLE (200) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:230]: Creating MSIHANDLE (201) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:230]: Closing MSIHANDLE (201) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:231]: Creating MSIHANDLE (202) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:231]: Closing MSIHANDLE (202) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:231]: Closing MSIHANDLE (199) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:231]: Creating MSIHANDLE (203) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:231]: Creating MSIHANDLE (204) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:232]: Closing MSIHANDLE (204) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:232]: Creating MSIHANDLE (205) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:232]: Closing MSIHANDLE (205) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:232]: Creating MSIHANDLE (206) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:233]: Closing MSIHANDLE (206) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:233]: Closing MSIHANDLE (203) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:233]: Creating MSIHANDLE (207) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:233]: Creating MSIHANDLE (208) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:233]: Closing MSIHANDLE (208) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:234]: Creating MSIHANDLE (209) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:234]: Closing MSIHANDLE (209) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:234]: Creating MSIHANDLE (210) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:234]: Closing MSIHANDLE (210) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:235]: Closing MSIHANDLE (207) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:235]: Creating MSIHANDLE (211) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:235]: Creating MSIHANDLE (212) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:235]: Closing MSIHANDLE (212) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:236]: Creating MSIHANDLE (213) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:236]: Closing MSIHANDLE (213) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:236]: Creating MSIHANDLE (214) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:236]: Closing MSIHANDLE (214) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:236]: Closing MSIHANDLE (211) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:237]: Creating MSIHANDLE (215) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:237]: Creating MSIHANDLE (216) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:237]: Closing MSIHANDLE (216) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:237]: Creating MSIHANDLE (217) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:238]: Closing MSIHANDLE (217) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:238]: Creating MSIHANDLE (218) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:238]: Closing MSIHANDLE (218) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:238]: Closing MSIHANDLE (215) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:238]: Creating MSIHANDLE (219) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:239]: Creating MSIHANDLE (220) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:239]: Closing MSIHANDLE (220) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:239]: Creating MSIHANDLE (221) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:240]: Closing MSIHANDLE (221) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:240]: Creating MSIHANDLE (222) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:240]: Closing MSIHANDLE (222) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:240]: Closing MSIHANDLE (219) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:240]: Creating MSIHANDLE (223) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:241]: Creating MSIHANDLE (224) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:241]: Closing MSIHANDLE (224) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:241]: Creating MSIHANDLE (225) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:242]: Closing MSIHANDLE (225) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:242]: Creating MSIHANDLE (226) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:242]: Closing MSIHANDLE (226) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:242]: Closing MSIHANDLE (223) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:242]: Creating MSIHANDLE (227) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:243]: Creating MSIHANDLE (228) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:243]: Closing MSIHANDLE (228) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:243]: Creating MSIHANDLE (229) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:243]: Closing MSIHANDLE (229) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:243]: Creating MSIHANDLE (230) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:244]: Closing MSIHANDLE (230) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:244]: Closing MSIHANDLE (227) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:244]: Creating MSIHANDLE (231) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:244]: Creating MSIHANDLE (232) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:245]: Closing MSIHANDLE (232) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:245]: Creating MSIHANDLE (233) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:245]: Closing MSIHANDLE (233) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:245]: Creating MSIHANDLE (234) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:246]: Closing MSIHANDLE (234) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:246]: Closing MSIHANDLE (231) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:246]: Creating MSIHANDLE (235) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:246]: Creating MSIHANDLE (236) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:247]: Closing MSIHANDLE (236) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:247]: Creating MSIHANDLE (237) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:247]: Closing MSIHANDLE (237) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:247]: Creating MSIHANDLE (238) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:248]: Closing MSIHANDLE (238) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:248]: Closing MSIHANDLE (235) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:248]: Creating MSIHANDLE (239) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:248]: Creating MSIHANDLE (240) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:248]: Closing MSIHANDLE (240) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:249]: Creating MSIHANDLE (241) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:249]: Closing MSIHANDLE (241) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:249]: Creating MSIHANDLE (242) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:249]: Closing MSIHANDLE (242) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:250]: Closing MSIHANDLE (239) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:250]: Creating MSIHANDLE (243) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:250]: Creating MSIHANDLE (244) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:250]: Closing MSIHANDLE (244) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:251]: Creating MSIHANDLE (245) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:251]: Closing MSIHANDLE (245) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:251]: Creating MSIHANDLE (246) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:252]: Closing MSIHANDLE (246) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:252]: Closing MSIHANDLE (243) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:252]: Creating MSIHANDLE (247) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:252]: Creating MSIHANDLE (248) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:252]: Closing MSIHANDLE (248) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:253]: Creating MSIHANDLE (249) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:253]: Closing MSIHANDLE (249) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:253]: Creating MSIHANDLE (250) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:253]: Closing MSIHANDLE (250) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:254]: Closing MSIHANDLE (247) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:254]: Creating MSIHANDLE (251) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:254]: Creating MSIHANDLE (252) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:254]: Closing MSIHANDLE (252) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:255]: Creating MSIHANDLE (253) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:255]: Closing MSIHANDLE (253) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:255]: Creating MSIHANDLE (254) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:255]: Closing MSIHANDLE (254) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:255]: Closing MSIHANDLE (251) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:255]: Creating MSIHANDLE (255) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:256]: Creating MSIHANDLE (256) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:256]: Closing MSIHANDLE (256) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:256]: Creating MSIHANDLE (257) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:257]: Closing MSIHANDLE (257) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:257]: Creating MSIHANDLE (258) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:257]: Closing MSIHANDLE (258) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:257]: Closing MSIHANDLE (255) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:258]: Creating MSIHANDLE (259) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:258]: Creating MSIHANDLE (260) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:258]: Closing MSIHANDLE (260) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:258]: Creating MSIHANDLE (261) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:259]: Closing MSIHANDLE (261) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:259]: Creating MSIHANDLE (262) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:259]: Closing MSIHANDLE (262) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:259]: Closing MSIHANDLE (259) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:259]: Creating MSIHANDLE (263) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:260]: Creating MSIHANDLE (264) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:260]: Closing MSIHANDLE (264) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:260]: Creating MSIHANDLE (265) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:260]: Closing MSIHANDLE (265) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:261]: Creating MSIHANDLE (266) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:261]: Closing MSIHANDLE (266) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:261]: Closing MSIHANDLE (263) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:261]: Creating MSIHANDLE (267) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:261]: Creating MSIHANDLE (268) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:262]: Closing MSIHANDLE (268) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:262]: Creating MSIHANDLE (269) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:262]: Closing MSIHANDLE (269) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:263]: Creating MSIHANDLE (270) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:263]: Closing MSIHANDLE (270) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:263]: Closing MSIHANDLE (267) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:263]: Creating MSIHANDLE (271) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:263]: Creating MSIHANDLE (272) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:264]: Closing MSIHANDLE (272) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:264]: Creating MSIHANDLE (273) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:264]: Closing MSIHANDLE (273) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:264]: Creating MSIHANDLE (274) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:265]: Closing MSIHANDLE (274) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:265]: Closing MSIHANDLE (271) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:265]: Creating MSIHANDLE (275) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:265]: Creating MSIHANDLE (276) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:265]: Closing MSIHANDLE (276) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:266]: Creating MSIHANDLE (277) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:266]: Closing MSIHANDLE (277) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:266]: Creating MSIHANDLE (278) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:266]: Closing MSIHANDLE (278) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:267]: Closing MSIHANDLE (275) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:267]: Creating MSIHANDLE (279) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:267]: Creating MSIHANDLE (280) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:267]: Closing MSIHANDLE (280) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:268]: Creating MSIHANDLE (281) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:268]: Closing MSIHANDLE (281) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:268]: Creating MSIHANDLE (282) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:268]: Closing MSIHANDLE (282) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:269]: Closing MSIHANDLE (279) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:269]: Creating MSIHANDLE (283) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:269]: Creating MSIHANDLE (284) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:269]: Closing MSIHANDLE (284) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:269]: Creating MSIHANDLE (285) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:270]: Closing MSIHANDLE (285) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:270]: Creating MSIHANDLE (286) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:270]: Closing MSIHANDLE (286) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:270]: Closing MSIHANDLE (283) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:270]: Closing MSIHANDLE (178) of type 790540 for thread 2316
    MSI (s) (98!0C) [16:55:00:272]: PROPERTY CHANGE: Adding ExecXmlFile property. Its value is '1€1€C:\Program Files\Telerik\TeamPulse\wwwroot\Web.Config€3€0€/configuration/connectionStrings/add[@name='TeamPulse.Core.Properties.Settings.TeamPulseConnectionString']/@connectionString€€server=BUMBLEBEE;Integrated Security=true;DATABASE=TeamPulse€3€0€/configuration/appSettings/add[@key='CompanyLicenseName']/@value€€TeamPulse€3€0€/configuration/appSettings/add[@key='MachineID']/@value€€o2BV4oz2NF2wnV8hSX4wFBeOq8M5js6TKM1+I4sM1lE=€3€0€/configuration/appSettings/add[@key='UserManagementURL']/@value€€http://BUMBLEBEE:9897/€3€0€/configuration/system.serviceModel/services/service[@name='TeamPulse.Client.Host.Services.AuthorizationService']/endpoint/@bindingConfiguration€€windowsHttp€3€0€/configuration/system.serviceModel/services/service[@name='TeamPulse.Client.Host.Feeds.ChartFeed']/endpoint/@bindingConfiguration€€windowsRss€3€0€/configuration/system.serviceModel/services/service[@name='TeamPulse.Client.Host.Feeds.NewsFeed']/endpoint/@bindingConfiguration€€windowsRss€3€0€/configuration/system.se
    MSI (s) (98!0C) [16:55:00:272]: Creating MSIHANDLE (287) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:273]: Closing MSIHANDLE (287) of type 790531 for thread 2316
    MSI (s) (98!0C) [16:55:00:273]: Doing action: ExecXmlFile
    Action 16:55:00: ExecXmlFile.
    Action start 16:55:00: ExecXmlFile.
    ExecXmlFile:
    Action ended 16:55:00: ExecXmlFile. Return value 1.
    MSI (s) (98!0C) [16:55:00:277]: Closing MSIHANDLE (176) of type 790541 for thread 2316
    MSI (s) (98:5C) [16:55:00:278]: Closing MSIHANDLE (175) of type 790542 for thread 1832
    Action ended 16:55:00: SchedXmlFile. Return value 1.
    MSI (s) (98:28) [16:55:00:279]: Doing action: CreateShortcuts
    Action 16:55:00: CreateShortcuts. Creating shortcuts
    Action start 16:55:00: CreateShortcuts.
    CreateShortcuts: Shortcut: Creating shortcuts
    Action ended 16:55:00: CreateShortcuts. Return value 1.
    MSI (s) (98:28) [16:55:00:283]: Doing action: WriteRegistryValues
    Action 16:55:00: WriteRegistryValues. Writing system registry values
    Action start 16:55:00: WriteRegistryValues.
    WriteRegistryValues: Key: Writing system registry values, Name: , Value:
    Action ended 16:55:00: WriteRegistryValues. Return value 1.
    MSI (s) (98:28) [16:55:00:286]: Doing action: InstallODBC
    Action 16:55:00: InstallODBC. Installing ODBC components
    Action start 16:55:00: InstallODBC.
    MSI (s) (98:28) [16:55:00:288]: Note: 1: 2711 2: ODBCDriverManager
    MSI (s) (98:28) [16:55:00:288]: Note: 1: 2711 2: ODBCDriverManager64
    MSI (s) (98:28) [16:55:00:288]: Note: 1: 2205 2:  3: ODBCDriver
    MSI (s) (98:28) [16:55:00:288]: Note: 1: 2228 2:  3: ODBCDriver 4: SELECT `Driver`,`ComponentId`,`Description`,`RuntimeFlags`,`Directory_`,`FileName`,`File_Setup`,`Action` FROM `ODBCDriver`, `File`, `Component` WHERE `File_` = `File` AND `ODBCDriver`.`Component_` = `Component` AND (`Component`.`ActionRequest` = 1 OR `Component`.`ActionRequest` = 2) AND `BinaryType` = ?
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2205 2:  3: ODBCDriver
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2228 2:  3: ODBCDriver 4: SELECT `Driver`,`ComponentId`,`Description`,`RuntimeFlags`,`Directory_`,`FileName`,`File_Setup`,`Action` FROM `ODBCDriver`, `File`, `Component` WHERE `File_` = `File` AND `ODBCDriver`.`Component_` = `Component` AND (`Component`.`ActionRequest` = 1 OR `Component`.`ActionRequest` = 2) AND `BinaryType` = ?
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2205 2:  3: ODBCTranslator
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2228 2:  3: ODBCTranslator 4: SELECT `Translator`,`Component`.`ComponentId`,`Description`,`RuntimeFlags`,`Directory_`,`FileName`,`File_Setup`,`Action` FROM `ODBCTranslator`, `File`, `Component` WHERE `File_` = `File` AND `ODBCTranslator`.`Component_` = `Component` AND (`Component`.`ActionRequest` = 1 OR `Component`.`ActionRequest` = 2) AND `BinaryType` = ?
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2205 2:  3: ODBCTranslator
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2228 2:  3: ODBCTranslator 4: SELECT `Translator`,`Component`.`ComponentId`,`Description`,`RuntimeFlags`,`Directory_`,`FileName`,`File_Setup`,`Action` FROM `ODBCTranslator`, `File`, `Component` WHERE `File_` = `File` AND `ODBCTranslator`.`Component_` = `Component` AND (`Component`.`ActionRequest` = 1 OR `Component`.`ActionRequest` = 2) AND `BinaryType` = ?
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2205 2:  3: ODBCDataSource
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2228 2:  3: ODBCDataSource 4: SELECT `DataSource`,`ComponentId`,`DriverDescription`,`Description`,`Registration` FROM `ODBCDataSource`, `Component` WHERE `Component_` = `Component` AND (`Component`.`Action` = 1 OR `Component`.`Action` = 2) AND `BinaryType` = ?
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2205 2:  3: ODBCDataSource
    MSI (s) (98:28) [16:55:00:289]: Note: 1: 2228 2:  3: ODBCDataSource 4: SELECT `DataSource`,`ComponentId`,`DriverDescription`,`Description`,`Registration` FROM `ODBCDataSource`, `Component` WHERE `Component_` = `Component` AND (`Component`.`Action` = 1 OR `Component`.`Action` = 2) AND `BinaryType` = ?
    Action ended 16:55:00: InstallODBC. Return value 0.
    MSI (s) (98:28) [16:55:00:289]: Doing action: RunSQLScripts
    Action 16:55:00: RunSQLScripts.
    Action start 16:55:00: RunSQLScripts.
    MSI (s) (98:28) [16:55:00:302]: Creating MSIHANDLE (288) of type 790542 for thread 1832
    MSI (s) (98:10) [16:55:00:302]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI54EE.tmp, Entrypoint: RunSQLScripts
    MSI (s) (98!34) [16:55:00:538]: Creating MSIHANDLE (289) of type 790531 for thread 2612
    SFXCA: Extracting custom action to temporary directory: C:\Windows\Installer\MSI54EE.tmp-\
    MSI (s) (98!34) [16:55:00:539]: Closing MSIHANDLE (289) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:611]: Creating MSIHANDLE (290) of type 790531 for thread 2612
    SFXCA: Binding to CLR version v2.0.50727
    MSI (s) (98!34) [16:55:00:612]: Closing MSIHANDLE (290) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:695]: Creating MSIHANDLE (291) of type 790531 for thread 2612
    Calling custom action DatabaseExtensions!DatabaseExtensions.CustomActions.RunSQLScripts
    MSI (s) (98!34) [16:55:00:700]: Closing MSIHANDLE (291) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:851]: Creating MSIHANDLE (292) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:854]: Creating MSIHANDLE (293) of type 790531 for thread 2612
    Determining if database already exists with connection string <server=BUMBLEBEE;Integrated Security=true;DATABASE=master>, username <Administrator>, domain <BUMBLEBEE>
    MSI (s) (98!34) [16:55:00:855]: Closing MSIHANDLE (293) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:932]: Creating MSIHANDLE (294) of type 790531 for thread 2612
    Determining database version with connection string <server=BUMBLEBEE;Integrated Security=true;DATABASE=master>, username <Administrator>, domain <BUMBLEBEE>
    MSI (s) (98!34) [16:55:00:933]: Closing MSIHANDLE (294) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:937]: Creating MSIHANDLE (295) of type 790531 for thread 2612
    Found existing database, version '2010.2.727.0'
    MSI (s) (98!34) [16:55:00:938]: Closing MSIHANDLE (295) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:977]: Creating MSIHANDLE (296) of type 790531 for thread 2612
    Beginning installation transaction...
    MSI (s) (98!34) [16:55:00:978]: Closing MSIHANDLE (296) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:979]: Creating MSIHANDLE (297) of type 790531 for thread 2612
    Executing sql script BEGIN TRANSACTION TeamPulseInstallTrans on connection server=BUMBLEBEE;Integrated Security=true;DATABASE=master
    MSI (s) (98!34) [16:55:00:979]: Closing MSIHANDLE (297) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:00:999]: Creating MSIHANDLE (298) of type 790531 for thread 2612
    Failed to execute sql, exception details: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail. (Exception from HRESULT: 0x800736B1)
    File name: 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' ---> System.Runtime.InteropServices.COMException (0x800736B1): The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail. (Exception from HRESULT: 0x800736B1)
       at System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase)
       at System.Reflection.Assembly.GetType(String name, Boolean throwOnError)
       at Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements(String query, ExecutionTypes executionType, Int32& statementsToReverse)
       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand)
       at DatabaseExtensions.CustomActions.ExecuteSQL(Session session, Server server, String sql)
     
     
    MSI (s) (98!34) [16:55:01:000]: Closing MSIHANDLE (298) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:01:000]: PROPERTY CHANGE: Adding INSTALLERROR property. Its value is '**********'.
    MSI (s) (98!34) [16:55:01:001]: Creating MSIHANDLE (299) of type 790531 for thread 2612
    Running database script: 2010.2.916.0 - DatabaseExtensions.TeamPulse_2010_Q2_SP1_UpdateSchema.sql - Updating Database schema
    MSI (s) (98!34) [16:55:01:001]: Closing MSIHANDLE (299) of type 790531 for thread 2612
    Action 16:55:01: . Updating Database schema (2010.2.916.0)
    MSI (s) (98!34) [16:55:01:004]: Creating MSIHANDLE (300) of type 790531 for thread 2612
    Executing sql content DatabaseExtensions.TeamPulse_2010_Q2_SP1_UpdateSchema.sql on connection server=BUMBLEBEE;Integrated Security=true;DATABASE=master
    MSI (s) (98!34) [16:55:01:005]: Closing MSIHANDLE (300) of type 790531 for thread 2612
    MSI (s) (98!34) [16:55:01:006]: Creating MSIHANDLE (301) of type 790531 for thread 2612
    Executing sql script USE
    GO
     
    /****** Object:  Trigger     Script Date: 08/09/2010 12:00:53 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    IF NOT EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'.'))
    EXEC dbo.sp_executesql @statement = N'
    CREATE trigger . on . instead of delete
    AS
    BEGIN
     
    SET NOCOUNT ON;
     
    BEGIN TRAN DeleteProject
     
    DECLARE @ProjectIDToDelete INT
    DECLARE @LastModifiedBy varchar(128)
    DECLARE @LastModifiedSystemID int
     
    Select @ProjectIDToDelete = deleted.ProjectID,
           @LastModifiedBy = deleted.LastModifiedBy,
           @LastModifiedSystemID = deleted.LastModifiedSystemID
    from deleted
     
    -- Disable all triggers (except this one)
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''#AllTriggers'') AND type in (N''U''))
        DROP TABLE #AllTriggers
     
    SELECT T.Name as TrigName, o.Name as TabName, s.Name as SchemaName
    INTO   #AllTriggers
    FROM   sys.triggers T
           JOIN sys.objects o ON T.parent_Id = o.object_ID
           JOIN sys.schemas s ON o.schema_Id = s.Schema_ID
    WHERE T.Name <> ''DeleteProject''
            
    DECLARE TrigCurs Cursor    
    FOR SELECT TrigName, TabName, SchemaName FROM #AllTriggers
    OPEN TrigCurs
     
    DECLARE @TrigName varchar(250), @TabName varchar(250), @SchameName VarChar(250), @cmd varchar(1000)
    FETCH Next FROM TrigCurs INTO @TrigName , @TabName , @SchameName
     
    WHILE @@Fetch_Status = 0
    BEGIN
        SET @cmd = ''disable trigger  on .;''
        EXEC (@cmd)
        FETCH Next FROM TrigCurs INTO @TrigName , @TabName , @SchameName
    END
     
    -- Deleting Project data...
    delete from AttachmentFile where ProjectID = @ProjectIDToDelete
    delete from Attachment where ProjectID = @ProjectIDToDelete
    delete from TestCase where ProjectID = @ProjectIDToDelete
    delete from Task where ProjectID = @ProjectIDToDelete
    delete from Hyperlink where ProjectID = @ProjectIDToDelete
    delete from StoryPersona where ProjectID = @ProjectIDToDelete
    delete from StoryRelationship where ProjectID = @ProjectIDToDelete
    delete from StoryRichDescription where ProjectID = @ProjectIDToDelete
    delete from Story where ProjectID = @ProjectIDToDelete
    delete from SynchronizationError where ProjectID = @ProjectIDToDelete
    delete from Area where ProjectID = @ProjectIDToDelete
    delete from Iteration where ProjectID = @ProjectIDToDelete
    delete from Timeline where ProjectID = @ProjectIDToDelete
    delete from Persona where ProjectID = @ProjectIDToDelete
    delete from ProjectUser where ProjectID = @ProjectIDToDelete
    delete from ProjectSync where ProjectID = @ProjectIDToDelete
    delete from ProjectTag where ProjectID = @ProjectIDToDelete
     
    -- Enabling all triggers...
    DECLARE TrigCurs2 Cursor
    FOR SELECT TrigName, TabName, SchemaName from #AllTriggers
    OPEN TrigCurs2
    DECLARE @TrigName2 varchar(250), @TabName2 varchar(250), @SchameName2 VarChar(250), @cmd2 varchar(1000)
    FETCH Next from TrigCurs2 into @TrigName2 , @TabName2 , @SchameName2
     
    WHILE @@Fetch_Status = 0
    BEGIN
        SET @cmd2 = ''enable trigger  on .;''
        EXEC (@cmd2)
        FETCH Next FROM TrigCurs2 INTO @TrigName2 , @TabName2 , @SchameName2
    END
     
    DROP TABLE #AllTriggers
     
    -- Do the final project deletion after re-enabling the triggers
    -- so that we get an audit record of the project deletion
    delete from project where projectid = @ProjectIDToDelete
     
     
    COMMIT TRAN DeleteProject
     
     
    END
    '
    GO
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering .C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\...';
     
     
    GO
    ALTER TABLE .C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER TABLE .
        ADD  BIGINT DEFAULT ((1)) NOT NULL;
     
     
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Area_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Area'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select AreaID,ProjectID,Name,ParentID,Sequence,SourceID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select AreaID,ProjectID,Name,ParentID,Sequence,SourceID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Area'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateArea ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Area'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.AreaID = t.AreaID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Attachment_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Attachment'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select AttachmentID,ProjectID,ParentID,ParentTypeID,AttachmentName,Description,AttachmentSize,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select AttachmentID,ProjectID,ParentID,ParentTypeID,AttachmentName,Description,AttachmentSize,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Attachment'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateAttachment ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Attachment'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.AttachmentID = t.AttachmentID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger AttachmentFile_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'AttachmentFile'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select AttachmentFileID,AttachmentID,ProjectID,AttachmentFileData,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select AttachmentFileID,AttachmentID,ProjectID,AttachmentFileData,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'AttachmentFile'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateAttachmentFile ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'AttachmentFile'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.AttachmentFileID = t.AttachmentFileID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Hyperlink_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Hyperlink'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select HyperlinkID,ProjectID,StoryID,DisplayText,URL,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select HyperlinkID,ProjectID,StoryID,DisplayText,URL,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Hyperlink'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateHyperlink ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Hyperlink'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.HyperlinkID = t.HyperlinkID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Iteration_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Iteration'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select IterationID,ProjectID,TimeLineID,CapacityMinimum,CapacityMaximum,EndDate,PredecessorID,ParentID,Level,StartDate,Name,SourceId,Sequence,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select IterationID,ProjectID,TimeLineID,CapacityMinimum,CapacityMaximum,EndDate,PredecessorID,ParentID,Level,StartDate,Name,SourceId,Sequence,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Iteration'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateIteration ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Iteration'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.IterationID = t.IterationID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger License_AuditTracking on C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\ for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'License'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select LicenseID,LicenseKey,ActivationKey,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select LicenseID,LicenseKey,ActivationKey,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'License'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateLicense ON C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\ AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'License'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM C:\Program Files\Telerik\TeamPulse\UserManagement\Views\License\ t
            JOIN inserted i ON i.LicenseID = t.LicenseID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Persona_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Persona'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select PersonaID,ProjectID,FullName,RichDescription,Position,IconResourceName,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select PersonaID,ProjectID,FullName,RichDescription,Position,IconResourceName,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Persona'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdatePersona ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Persona'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.PersonaID = t.PersonaID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
    ALTER trigger . on .
        instead of delete
    AS
    BEGIN
     
    SET NOCOUNT ON;
     
    BEGIN TRAN DeleteProject
     
    DECLARE @ProjectIDToDelete INT
    DECLARE @LastModifiedBy varchar(128)
    DECLARE @LastModifiedSystemID int
     
    Select @ProjectIDToDelete = deleted.ProjectID,
           @LastModifiedBy = deleted.LastModifiedBy,
           @LastModifiedSystemID = deleted.LastModifiedSystemID
    from deleted
     
    -- Disable all triggers (except this one)
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'#AllTriggers') AND type in (N'U'))
        DROP TABLE #AllTriggers
     
    SELECT T.Name as TrigName, o.Name as TabName, s.Name as SchemaName
    INTO   #AllTriggers
    FROM   sys.triggers T
           JOIN sys.objects o ON T.parent_Id = o.object_ID
           JOIN sys.schemas s ON o.schema_Id = s.Schema_ID
    WHERE T.Name <> 'DeleteProject'
            
    DECLARE TrigCurs Cursor    
    FOR SELECT TrigName, TabName, SchemaName FROM #AllTriggers
    OPEN TrigCurs
     
    DECLARE @TrigName varchar(250), @TabName varchar(250), @SchameName VarChar(250), @cmd varchar(1000)
    FETCH Next FROM TrigCurs INTO @TrigName , @TabName , @SchameName
     
    WHILE @@Fetch_Status = 0
    BEGIN
        SET @cmd = 'disable trigger  on .;'
        EXEC (@cmd)
        FETCH Next FROM TrigCurs INTO @TrigName , @TabName , @SchameName
    END
     
    -- Deleting Project data...
    delete from AttachmentFile where ProjectID = @ProjectIDToDelete
    delete from Attachment where ProjectID = @ProjectIDToDelete
    delete from TestCase where ProjectID = @ProjectIDToDelete
    delete from Task where ProjectID = @ProjectIDToDelete
    delete from Hyperlink where ProjectID = @ProjectIDToDelete
    delete from StoryPersona where ProjectID = @ProjectIDToDelete
    delete from StoryRelationship where ProjectID = @ProjectIDToDelete
    delete from StoryRichDescription where ProjectID = @ProjectIDToDelete
    delete from Story where ProjectID = @ProjectIDToDelete
    delete from SynchronizationError where ProjectID = @ProjectIDToDelete
    delete from Area where ProjectID = @ProjectIDToDelete
    delete from Iteration where ProjectID = @ProjectIDToDelete
    delete from Timeline where ProjectID = @ProjectIDToDelete
    delete from Persona where ProjectID = @ProjectIDToDelete
    delete from ProjectUser where ProjectID = @ProjectIDToDelete
    delete from ProjectSync where ProjectID = @ProjectIDToDelete
    delete from ProjectTag where ProjectID = @ProjectIDToDelete
     
    -- Enabling all triggers...
    DECLARE TrigCurs2 Cursor
    FOR SELECT TrigName, TabName, SchemaName from #AllTriggers
    OPEN TrigCurs2
    DECLARE @TrigName2 varchar(250), @TabName2 varchar(250), @SchameName2 VarChar(250), @cmd2 varchar(1000)
    FETCH Next from TrigCurs2 into @TrigName2 , @TabName2 , @SchameName2
     
    WHILE @@Fetch_Status = 0
    BEGIN
        SET @cmd2 = 'enable trigger  on .;'
        EXEC (@cmd2)
        FETCH Next FROM TrigCurs2 INTO @TrigName2 , @TabName2 , @SchameName2
    END
     
    DROP TABLE #AllTriggers
     
    -- Do the final project deletion after re-enabling the triggers
    -- so that we get an audit record of the project deletion
    delete from project where projectid = @ProjectIDToDelete
     
     
    COMMIT TRAN DeleteProject
     
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Project_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Project'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select ProjectID,Name,Description,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select ProjectID,Name,Description,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Project'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateProject ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Project'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.ProjectID = t.ProjectID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger ProjectTag_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'ProjectTag'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select ProjectTagID,TagID,ProjectID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select ProjectTagID,TagID,ProjectID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'ProjectTag'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateProjectTag ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'ProjectTag'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.ProjectTagID = t.ProjectTagID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger ProjectTemplate_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'ProjectTemplate'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select ProjectTemplateID,Name,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select ProjectTemplateID,Name,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'ProjectTemplate'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateProjectTemplate ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'ProjectTemplate'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.ProjectTemplateID = t.ProjectTemplateID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger ProjectUser_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'ProjectUser'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select ProjectUserID,ProjectID,UserID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select ProjectUserID,ProjectID,UserID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'ProjectUser'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateProjectUser ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'ProjectUser'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.ProjectUserID = t.ProjectUserID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger RelationshipType_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'RelationshipType'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select RelationshipTypeID,DisplayName,ForwardDisplayName,ReverseDisplayName,TemplateReferenceName,IsDirectional,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select RelationshipTypeID,DisplayName,ForwardDisplayName,ReverseDisplayName,TemplateReferenceName,IsDirectional,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'RelationshipType'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateRelationshipType ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'RelationshipType'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.RelationshipTypeID = t.RelationshipTypeID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger Story_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'Story'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select StoryID,Name,ProjectID,Points,Status,Complexity,Maturity,Certainty,AreaID,PriorityID,IterationID,PriorityClassification,ValueClassification,AssignedTo,AssignedToUserID,Description,IsSyncable,SourceID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select StoryID,Name,ProjectID,Points,Status,Complexity,Maturity,Certainty,AreaID,PriorityID,IterationID,PriorityClassification,ValueClassification,AssignedTo,AssignedToUserID,Description,IsSyncable,SourceID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'Story'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateStory ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'Story'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.StoryID = t.StoryID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger StoryPersona_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'StoryPersona'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select StoryPersonaID,ProjectID,StoryID,PersonaID,Role,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select StoryPersonaID,ProjectID,StoryID,PersonaID,Role,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'StoryPersona'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
        select @sql = @sql + ' from #del d full outer join #ins i'
        select @sql = @sql + @PKCols
         
        exec (@sql)
    end
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER TRIGGER UpdateStoryPersona ON  AFTER UPDATE
    AS
    BEGIN
        SET NOCOUNT ON;
     
        declare @bit int ,
        @field int ,
        @maxfield int ,
        @char int ,
        @fieldname varchar(100) ,
        @TableName varchar(128) ,
        @causesTimeStampUpdate bit,
        @sequence bigint
     
        select @TableName = 'StoryPersona'
        select @causesTimeStampUpdate = 0
     
        select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
        while @field < @maxfield
        begin
            select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
            select @bit = (@field - 1 )% 8 + 1
            select @bit = power(2,@bit - 1)
            select @char = ((@field - 1) / 8) + 1
     
            if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0
            begin
                select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
                if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID', 'VersionNumber')
                begin
                    select @causesTimeStampUpdate = 1
                end
            end
        end
     
        if @causesTimeStampUpdate = 1
     
            UPDATE t
            SET t.LastModifiedDateUtc = getutcdate(),
                t.VersionNumber = t.VersionNumber + 1
            FROM  t
            JOIN inserted i ON i.StoryPersonaID = t.StoryPersonaID
     
    END
    GO
    PRINT N'Altering ....';
     
     
    GO
     
    ALTER trigger StoryRelationship_AuditTracking on  for insert, update, delete
    as
     
    declare @bit int ,
    @field int ,
    @maxfield int ,
    @char int ,
    @fieldname varchar(100) ,
    @fieldtype varchar(50) ,
    @TableName varchar(128) ,
    @PKCols varchar(1000) ,
    @sql nvarchar(2000),
    @ModifiedDate varchar(21),
    @UserName varchar(128) ,
    @ChangeType int ,
    @PKFieldSelect varchar(1000),
    @PKValueSelect varchar(1000),
    @ProjectIDFieldExists bit,
    @ProjectID int
     
    select @TableName = 'StoryRelationship'
     
    -- date
    select @ModifiedDate =  convert(varchar(8), getutcdate(), 112) + ' ' + convert(varchar(12), getutcdate(), 114)
     
    -- Action
    if exists (select * from inserted)
    if exists (select * from deleted)
    select @ChangeType = 1 -- update
    else
    select @ChangeType = 0 -- insert
    else
    select @ChangeType = 2 -- delete
     
    -- get list of columns
    select StoryRelationshipID,RelationshipTypeID,ProjectID,ForwardStoryID,ReverseStoryID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #ins from inserted
    select StoryRelationshipID,RelationshipTypeID,ProjectID,ForwardStoryID,ReverseStoryID,CreatedBy,CreatedDateUtc,CreatedSystemID,LastModifiedBy,LastModifiedDateUtc,LastModifiedSystemID,VersionNumber into #del from deleted
     
    -- Get primary key columns for full outer join
    select  @PKCols = coalesce(@PKCols + ' and', ' on') + ' i.' + c.COLUMN_NAME + ' = d.' + c.COLUMN_NAME
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    -- Get primary key fields select for insert
    select  @PKFieldSelect = coalesce(@PKFieldSelect+'+','') + '''' + COLUMN_NAME + ''''
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c
    where   pk.TABLE_NAME = @TableName
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'
    and     c.TABLE_NAME = pk.TABLE_NAME
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @PKValueSelect = coalesce(@PKValueSelect+'+','') + 'convert(varchar(100), coalesce(i.' + COLUMN_NAME + ',d.' + COLUMN_NAME + '))'
    from    INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ,   
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE c  
    where   pk.TABLE_NAME = @TableName  
    and     CONSTRAINT_TYPE = 'PRIMARY KEY'  
    and     c.TABLE_NAME = pk.TABLE_NAME  
    and     c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME
     
    select  @ProjectIDFieldExists = COUNT(col.COLUMN_NAME)
    from    INFORMATION_SCHEMA.COLUMNS col
    where   col.TABLE_NAME = 'StoryRelationship'
    and     col.COLUMN_NAME = 'ProjectID'
     
    if @ProjectIDFieldExists <> 0
    if @ChangeType = 2
        select @sql = 'select @ProjectID = #del.ProjectID from #del'
    else
        select @sql = 'select @ProjectID = #ins.ProjectID from #ins'
    else
    select @sql = 'select @ProjectID = null'
    exec sp_executesql
        @query = @sql,
        @params = N'@ProjectID int OUTPUT',
        @ProjectID = @ProjectID OUTPUT
     
    select @UserName = #ins.LastModifiedBy from #ins
     
    if @PKCols is null
    begin
        raiserror('no PK on table %s', 16, -1, @TableName)
        return
    end
     
    select @field = 0, @maxfield = max(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName
    while @field < @maxfield
    begin
        select @field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION > @field
        select @bit = (@field - 1 )% 8 + 1
        select @bit = power(2,@bit - 1)
        select @char = ((@field - 1) / 8) + 1
     
        if substring(COLUMNS_UPDATED(),@char, 1) & @bit > 0 or @ChangeType = 0
        begin
            select @fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and ORDINAL_POSITION = @field
            if @fieldname not in('LastModifiedBy','LastModifiedDateUtc','LastModifiedSystemID','VersionNumber')
                and @fieldname not in (select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TableName and DATA_TYPE IN ('image', 'text', 'ntext', 'xml'))
            begin
                select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, FieldName, OldValue, NewValue, ModifiedBy, ModifiedDateUtc)'
                select @sql = @sql + 'select CAST(' + CAST(@ChangeType AS CHAR(1)) + ' AS CHAR(1))'
                select @sql = @sql + ',''' + @TableName + ''''
                select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
                select @sql = @sql + ',' + @PKFieldSelect
                select @sql = @sql + ',' + @PKValueSelect
                select @sql = @sql + ',''' + @fieldname + ''''
                select @sql = @sql + ',convert(varchar(max),d.' + @fieldname + ')'
                select @sql = @sql + ',convert(varchar(max),i.' + @fieldname + ')'
                select @sql = @sql + ',''' + @UserName + ''''
                select @sql = @sql + ',''' + @ModifiedDate + ''''
                select @sql = @sql + ' from #ins i full outer join #del d'
                select @sql = @sql + @PKCols
                select @sql = @sql + ' where i.' + @fieldname + ' <> d.' + @fieldname
                select @sql = @sql + ' or (i.' + @fieldname + ' is null and  d.' + @fieldname + ' is not null)'
                select @sql = @sql + ' or (i.' + @fieldname + ' is not null and  d.' + @fieldname + ' is null)'
                exec (@sql)
            end
        end
    end
    if @ChangeType = 2
    begin
        select @sql = 'insert Audit (ChangeTypeID, TableName, ProjectID, PrimaryKeyField, PrimaryKeyValue, ModifiedBy, ModifiedDateUtc)'
        select @sql = @sql + ' select ' + CAST(@ChangeType AS CHAR(1))
        select @sql = @sql + ',''' + @TableName + ''''
        select @sql = @sql + ',' + COALESCE(CAST(@ProjectID AS varchar(8000)),'null')
        select @sql = @sql + ',' + @PKFieldSelect
        select @sql = @sql + ',' + @PKValueSelect
        select @sql = @sql + ', d.'
        select @sql = @sql + ', getutcdate()'
       &nb