对于客户,我们创建了一个软件,将安装在大约350个USB记忆棒上。现在我们希望在将棒插入PC时自动执行此.exe。
几年前,我们使用了简单的autorun.inf
方法。
但是对于Windows 7及更高版本的Windows版本,此功能不再像我所见的那样工作。这让我有点疑惑,因为在我的系统控制中,我可以选择如何打开驱动器。在“软件和游戏”中我选择了“总是问”,然后我把这个Autorun.inf
放在了棒上:
[autorun]
open=Demo1.exe
但它不起作用。当我插入操作杆时,Windows唯一能做的就是询问我是否要打开驱动器文件夹。
我需要做的是软件自动启动或打开一个窗口,用户可以决定运行可执行文件还是不执行此操作?
答案 0 :(得分:2)
对于Windows 7及更高版本,只有光驱可以指定自动运行任务。事实上,早期版本的Windows可以修补以同样的方式运行。此更改是针对Conficker蠕虫而做出的。
所以你的目标根本无法实现。您需要指示用户浏览记忆棒并手动运行特定程序。
答案 1 :(得分:2)
您无法为USB驱动器指定autorun.inf任务。请阅读此处以获取更多信息:http://blogs.msdn.com/b/e7/archive/2009/04/27/improvements-to-autoplay.aspx
答案 2 :(得分:1)
Microsoft针对Windows XP,Windows Vista,Windows Server 2003和Windows Server 2008发布了KB967940中解释的安全修补程序Microsoft Security Advisory (967940),该修补程序禁用除CD和DVD驱动器之外的所有驱动器的自动运行功能。另请参阅ZDNet文章Microsoft disables AutoRun on Windows XP/Vista to prevent malware infections。
因此,当插入USB记忆棒以防止恶意软件自动运行时,不可能再自动启动某些内容。
答案 3 :(得分:1)
来自 David Heffernan 和 Mofi 的先前答案是正确的。仅允许CD / DVD /光盘驱动器指定自动运行任务。
但是,如果您确定USB芯片的制造商并获得该芯片的固件管理工具,您可以重新配置它并使USB显示为操作系统的CD驱动器。
如果这似乎是一项压倒性的任务,您可以通过一些致力于分发多媒体内容的公司来创建您的USB。