设备安装应用程序编写指南
设备安装应用程序必须 执行以下操作:
支持删除安装的所有特定于设备的应用程序。 作为该卸载过程的一部分,设备安装应用程序应检查系统上是否存在任何关联的设备,如果是,则向用户发出警告。
遵循在 64 位系统上安装设备的准则。
从 Windows Vista 开始,列出使用 Microsoft Windows Installer(MSI)安装的所有应用程序,并在控制面板中的程序和功能中可用。 然后,可以根据需要卸载这些项目。
在早于 Windows Vista 的 Windows 版本中,列出使用 Microsoft Windows Installer(MSI)安装的所有应用程序,并在 控制面板 中的“添加或删除程序”中提供。 然后,可以根据需要卸载这些项目。
遵循 Microsoft Windows 应用程序的准则。 有关详细信息, 请参阅Microsoft开发人员网络 网站。
设备安装应用程序可以执行以下操作:
-
请注意,强烈建议将特定于设备的应用程序创建为通用 Windows 平台(UWP)应用,并与驱动程序包相关联,而不是使用设备安装应用程序来安装特定于设备的应用程序。 有关详细信息,请参阅将驱动程序与通用 Windows 平台 (UWP) 应用配对。
设备安装应用程序不得执行以下操作:
指示用户复制或覆盖任何文件,尤其是 。inf 和 .sys 文件。
在卸载操作期间,从系统中删除已安装的驱动程序文件,即使删除了硬件。
强制重启任何不必要的系统。 安装 PnP 设备或软件应用程序通常不需要重启。 DiInstallDriver 和 DiInstallDevice 函数的 NeedReboot 参数和 UpdateDriverForPlugAndPlayDevices 函数的 bRebootRequired 参数指示需要重启。
使用 RunOnce 注册表项启动 设备安装应用程序,因为这需要系统重启。
使用设备或类共同安装程序或类安装程序启动设备安装应用程序,因为设备安装过程中系统的状态无法保证安装软件应用程序的安全。 具体而言,如果设备安装应用程序在服务器端安装期间运行,系统将停止响应。
使用启动组启动 设备安装应用程序。
使用 win.ini 条目启动设备安装应用程序。
强制用户安装任何特定于设备的应用程序,除非设备不会在没有应用程序的情况下运行。 例如,如果收件箱应用程序不支持此类功能,则示例可能包括用于设置可配置键盘键的实用程序或设置调制解调器的国家/地区代码。