将数据文件添加到 ClickOnce 应用程序中

安装的每个 ClickOnce 应用程序在目标计算机的本地磁盘上都分配有一个数据目录,应用程序可以在其中管理自己的数据。 数据文件可以包含任何类型的文件:文本文件、XML 文件,甚至 Microsoft Access 数据库 (.mdb) 文件。 下面的过程演示如何向 ClickOnce 应用程序中添加任何类型的数据文件。

注意

在适用于 .NET Core 3.1 和 .NET 5 或更高版本的 ClickOnce 中,使用 dotnetmage.exe,而不是 Mage.exe。 有关详细信息,请参阅适用于 .NET 的 ClickOnce

使用 Mage.exe 包含数据文件

  1. 将数据文件与其余的应用程序文件一起添加到应用程序目录。

    通常情况下,应用程序目录将是一个使用部署的当前版本(例如 v1.0.0.0)标记的目录。

  2. 更新应用程序清单以列出数据文件。

    mage -u v1.0.0.0\Application.manifest -FromDirectory v1.0.0.0

    执行此任务将重新创建应用程序清单中的文件列表,并自动生成哈希签名。

  3. 在你首选的文本编辑器或 XML 编辑器中打开应用程序清单,然后查找最近添加的文件的 file 元素。

    如果添加了一个名为 Data.xml 的 XML 文件,则该文件将类似于下面的代码示例。

    <file name="Data.xml" hash="23454C18A2DC1D23E5B391FEE299B1F235067C59" hashalg="SHA1" asmv2:size="39500" />

  4. 将属性 type 添加到此元素,并为其提供值 data

    <file name="Data.xml" writeableType="applicationData" hash="23454C18A2DC1D23E5B391FEE299B1F235067C59" hashalg="SHA1" asmv2:size="39500" />

  5. 使用密钥对或证书对应用程序清单进行重新签名,然后对部署清单进行重新签名。

    必须对部署清单进行重新签名,因为其应用程序清单的哈希已发生更改。

    mage -s app manifest -cf cert_file -pwd password

    mage -u deployment manifest -appm app manifest

    mage -s deployment manifest -cf certfile -pwd password

使用 MageUI.exe 包含数据文件

  1. 将数据文件与其余的应用程序文件一起添加到应用程序目录。

  2. 通常情况下,应用程序目录将是一个使用部署的当前版本(例如 v1.0.0.0)标记的目录。

  3. 在“文件”菜单上,选择“打开”以打开应用程序清单 。

  4. 单击“文件”选项卡。

  5. 在选项卡顶部的文本框中,输入包含应用程序文件的目录,然后单击“填充”。

    数据文件将显示在网格中。

  6. 设置数据文件的“文件类型”值为“数据”。

  7. 保存应用程序清单,然后对文件进行重新签名。

    MageUI.exe 将提示你对该文件进行重新签名。

  8. 对部署清单进行重新签名

    必须对部署清单进行重新签名,因为其应用程序清单的哈希已发生更改。