创建自打开文档

本文关键字:文档 创建 | 更新日期: 2023-09-27 17:59:20

我正在处理一个具有专有文件格式的项目。该项目有一个需要安装的大型程序和一个不需要安装的较小查看器。我希望能够从我的主应用程序中导出"自打开".exe的文件,也就是说,你可以双击exe,嵌入的文件就会显示出来(这是为了让没有安装主应用程序的人能够查看它,他们只会传递文档)。

我有点不知所措。我一直在调查的两个想法已经走到了尽头。它们是:

1) 在查看器中嵌入文件。我可以通过Visual Studio手动完成这项工作,我已经有了一个工作演示,但我无法快速找到实现这一点的方法。

2) 创建一个自提取档案,提取文件和exe到临时文件,并在命令行上运行带有文件名的exe。这听起来很简单,也很可能(尽管很难),但我遇到了一个问题,即归档或安装程序似乎没有完成所有这些操作所需的命令行。

有什么想法吗?我更喜欢第二个,因为它很容易,但第一个是因为它看起来更防弹/不那么粗糙。

创建自打开文档

使用您的方法(1):

如果您使用.NET,您可以将查看器程序设置为一个程序集,将文档设置为另一个程序集中,然后使用ILMerge等将它们组合为一个最终可执行文件。

ILMerge是一个命令行程序,因此您应该能够自动执行该步骤。

这样一来,您的自定义查看器应该很容易,基本上只需"加载与我一起的另一个程序集",并可能调用另一程序集上的函数来获取数据。

唯一的另一个难题是如何生成"文档"程序集。我不完全确定步骤,但它似乎是可行的。

也许可以使用CMake或类似方法生成VStudio项目,然后使用MSBuild将其构建到程序集中。

虽然将exe捆绑到文档中使其成为一个自打开文档是一个很酷的想法,但我认为这不是解决这个问题的最佳方案。问题是,文档需要一个特定的查看器,而这个查看器并不容易获得。因此,让观众尽可能容易地观看。

这就是Xinto在评论中的建议。找到一种方法,使观众尽可能地随时可用。无需担心盗版,因为它只是一个专有格式的查看器,所以唯一感兴趣的人将是那些已经有了无法打开的文档的人。因此,在您的公司网站上发布查看器,并鼓励使用完整软件的公司在其网站上发布指向查看器的链接,以便其客户可以轻松找到它。