对于一个客户,我们创build了一个软件,将安装在大约350个USB记忆棒上。 现在我们希望这个.exe会在插入电脑时自动执行。
几年前我们使用了简单的autorun.inf
方法。
但是,对于Windows 7和更高版本的Windows版本,这个function不再像我所见过的那样工作。 这让我有点想知道,因为在我的系统控制中,我可以select驱动器将如何打开。 在“软件和游戏”我select“总是问”,然后我把这个Autorun.inf
棒:
[autorun] open=Demo1.exe
但它不工作。 当我把插入棒的唯一的东西,它会问我是否打开驱动器文件夹。
我必须做的,该软件自动启动或打开一个窗口,用户可以在其中决定运行可执行文件或不这样做?
您无法为USB驱动器指定autorun.inf任务。 阅读这里进一步信息: http : //blogs.msdn.com/b/e7/archive/2009/04/27/improvements-to-autoplay.aspx
对于Windows 7和更高版本,只有光驱可以指定自动运行任务。 事实上,Windows的早期版本可以被修补以表现相同的方式。 这个改变是为了回应Conficker蠕虫。
所以你的目标根本无法实现。 您将需要指导用户探索记忆棒并手动运行特定的程序。
微软针对Windows XP,Windows Vista,Windows server 2003和Windows server 2008发布了Microsoft安全 通报 (967940)解释的安全修补程序KB967940 ,该修补程序禁用除CD和DVD驱动器以外的所有驱动器的自动运行功能。 另请参阅ZDNet文章Microsoft禁用Windows XP / Vista上的AutoRun以防止恶意软件感染 。
所以现在已经不可能了,当一个U盘插入时,有些东西会自动启动,以防止恶意软件自动运行。
以前David Heffernan和Mofi的回答是对的。 只有CD / DVD /光驱允许指定自动运行任务。
但是,如果您识别USB芯片的制造商并获得该芯片的固件管理工具,则可以对其进行重新配置,使USB显示为光盘驱动器。
如果这似乎是一个繁重的任务,你可以得到一些公司创建的USB专用于分发多媒体内容。