internal static bool ValidFileExists(string fileName) { Logger.Message("Checking for file: " + fileName); if (!String.IsNullOrEmpty(fileName) && File.Exists(fileName)) { try { #if DEBUG Logger.Message(" Validity RESULT (assumed): True"); return true; #else var wtd = new WinTrustData(fileName); var result = NativeMethods.WinVerifyTrust(new IntPtr(-1), new Guid("{00AAC56B-CD44-11d0-8CC2-00C04FC295EE}"), wtd); Logger.Message(" RESULT (a): " + (result == WinVerifyTrustResult.Success)); return (result == WinVerifyTrustResult.Success); #endif } catch { } } Logger.Message(" RESULT (a): False"); return false; }
internal static extern WinVerifyTrustResult WinVerifyTrust(IntPtr hwnd, [MarshalAs(UnmanagedType.LPStruct)] Guid pgActionID, WinTrustData pWVTData);