【问题标题】:c# create media at runtimec# 在运行时创建媒体
【发布时间】:2017-07-11 12:31:45
【问题描述】:

我想为我的应用添加备份功能,因为该应用将允许用户在外部设备(CD、CD-ROM 或USB 密钥),以便用户可以在给定的时间点检索(以只读模式)他们存储的环境。

我已阅读 here 关于制作可自动启动的 USB 的信息(我怀疑 CD 或 DVD 也是如此)。

编辑我的意思是“自动执行”,而不是“自动启动”!

我知道IMAPI 或其他已有数年历史的方法。是否有任何替代/标准方法可以以这种方式创建媒体?我想要一种创建 CD/DVD 或 USB 设备(不可启动)的通用方法。

【问题讨论】:

    标签: c# usb dvd-burning cddvd


    【解决方案1】:

    您需要确保不要混淆 Booting 和 Windows Autorun。

    自动启动 USB

    是指可以用来启动计算机的外部 USB 驱动器。 鉴于链接的 Stackexchange 问题,我怀疑这就是您要寻找的东西。您已经找到的信息实际上就是您正在寻找的信息,并且那里给出的建议似乎非常准确。

    你需要做的是:

    1. 使用您的数据创建媒体。对于 USB 记忆棒,这就像将数据复制到记忆棒一样简单。需要刻录光学媒体 (CD/DVD),而这只能使用 Windows API 来完成,这已经在here 进行了讨论。
    2. 如果您想使用 Windows 自动运行功能(我会忽略它*),您需要在媒体的根目录中创建一个名为 Autorun.ini 的文件。您已经找到该文件here 的所需内容。

    * 为什么我会跳过自动运行功能。

    首先,Windows 自动运行功能没有真正的替代品。 在早期版本的 Windows 中,充其量是有争议的。由于 USB 记忆棒成为主流,自动运行只不过是一种自动病毒安装功能。不久之后,每个人都开始禁用它。因此,最近版本的 Windows 似乎默认已删除或禁用它。

    Icon=diskicon.ico 选项是一个例外,它允许您更改驱动器的图标。这可能仍在工作,即使自动运行被禁用。

    【讨论】:

    • 感谢您的回答,帮助很大 - 事实上,我对“自动启动”感到困惑。我知道自动运行被禁用,但让我们面对现实吧——这里的目标是使其成为“即插即用”备份——如果用户需要打开文件夹并单击图标,那么很有可能会出错......所以这里没有更好的选择?!太糟糕了!
    • 为了最大程度地降低用户出错的风险,您可以在备份媒体上“公开”一个可执行文件。尝试设置所有其他文件的Hidden 标志,只保留主可执行文件可见。我不确定这是否适用于光学媒体,但可能值得一试。
    猜你喜欢
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 2014-08-13
    • 2017-04-27
    • 1970-01-01
    相关资源
    最近更新 更多