Exemple #1
0
        // 检查当前驱动
        private void CheckCurrentDriverStates()
        {
            bool bInstallDriver = false;

            System.Diagnostics.FileVersionInfo myDriverVersion;
            // 检查驱动兼容性
            if (FKDriverManagement.IsDriverInstalled(out myDriverVersion))
            {
                string  thatVersion = string.Format("{0}.{1}", myDriverVersion.FileMajorPart, myDriverVersion.FileMinorPart);
                Version assVersion  = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
                string  thisVersion = string.Format("{0}.{1}", assVersion.Major, assVersion.Minor);
                if (thatVersion != thisVersion)
                {
                    if (MessageBox.Show(
                            string.Format("本机 FK USB 驱动版本 ({0}) 不符合当前驱动版本 ({1}). 你是否要将其更改为 {1} ?",
                                          thatVersion,
                                          thisVersion),
                            "驱动版本不匹配",
                            MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        bInstallDriver = true;
                    }
                }
            }
            else
            {
                if (MessageBox.Show(
                        "FK USB 驱动尚未安装. 你是否要立刻安装 ?",
                        "FK USB 驱动检查",
                        MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    bInstallDriver = true;
                }
            }

            // 看看是否需要安装驱动
            if (bInstallDriver)
            {
                if (FKWindowsSecurity.IsAdmin())
                {
                    InstallDriver();
                }
                else
                {
                    FKWindowsSecurity.RestartElevated(ENUMStartupActions.InstallDriver.ToString());
                }
            }
        }
Exemple #2
0
        // 安装驱动
        private void InstallDriver()
        {
            bool   needRestart;
            string failureReason;

            if (FKDriverManagement.InstallDriver(out needRestart, out failureReason))
            {
                if (needRestart)
                {
                    MessageBox.Show(this, "驱动安装完成! 请重启电脑.", "安装驱动");
                }
                else
                {
                    MessageBox.Show(this, "驱动安装完成!", "安装驱动");
                }
            }
            else
            {
                MessageBox.Show(this, string.Format("驱动安装失败: ({0})", failureReason), "安装驱动失败");
            }
        }