webview2环境检测

发布于:2021-09-02 08:24

[STAThread]

        public static void Main()

        {

            if (!CheckWebView())

            {

                MessageBox.Show("检测到当前未安装运行环境,正在启动安装程序,请稍后...");

                InstallWebView();

                Stopwatch.StartNew();

                while (!CheckWebView())

                {

                    Thread.Sleep(3000);

                }

            }

            var application = new App();

            application.InitializeComponent();

            application.Run();

        }

        private static bool CheckWebView()

        {

            try

            {

                var str = CoreWebView2Environment.GetAvailableBrowserVersionString();

                if (!string.IsNullOrWhiteSpace(str))

                {

                    return true;

                }

            }

            catch (Exception)

            {

                return false;

            }

            return false;

        }

        private static void InstallWebView()

        {

            var path = AppDomain.CurrentDomain.BaseDirectory + "check";


            using (Process process = new Process())

            {

                process.StartInfo.UseShellExecute = false;

                process.StartInfo.FileName = path + "\\MicrosoftEdgeWebview2Setup.exe";

                try

                {

                    process.Start();

                }

                catch (Exception ex)

                {

                    //MessageBox.Show(ex.Message);

                }

            } 

        }