【问题标题】:How Can I Package a Unity3D 5 Windows Application into a single exe file?如何将 Unity3D 5 Windows 应用程序打包成单个 exe 文件?
【发布时间】:2016-05-13 05:51:29
【问题描述】:

我是 Unity3d 开发的新手。我创建了两个版本的 3D 拼图应用程序,一个用于 Mac,另一个用于 Windows。 Mac 应用程序是使用其中包含的包内容创建的。 Windows 应用程序是用 exe 文件和一个与 exe 文件同名的单独数据文件夹 + 后缀 _Data 创建的。我想创建一个 exe 文件以在 Amazon 和其他可下载平台上分发。我遇到的问题是找到数据文件夹和 exe 文件必须位于同一级别的位置。

我习惯了 Apple 设备,但最近购买了一台 Windows 笔记本电脑进行测试。

我在 Unity3D 文档中找不到有关如何执行此操作的任何内容。该文档讨论了如何将应用程序分发到 Windows 应用商店,我不打算这样做。我在他们的论坛上唯一能找到的是 one question,这是 2011 年提出的。

建议的解决方案之一,Enigma Virtual Box,我无法开始工作,因为 Unity3D 要求 exe 文件和数据文件夹处于同一级别。我也尝试了Smart Packer Pro 的试用版,但我需要一个 dll 文件作为起点,我在 Unity3D 项目文件夹中找不到该文件。

我发现的所有与 Windows 打包成单个 exe 文件相关的信息都至少有五年的历史。它们都与打包 Unity3D 应用程序无关。我还搜索了 microsoft.com 和 windows.com,但在那里找不到任何东西。

2016 年 5 月 12 日更新 14:15

我安装了 Inno Setup 并尝试为我的应用程序创建脚本。它复制了 exe 文件,但创建了一个空的数据文件夹,而不是复制我需要运行 exe 文件的数据文件夹。我检查以确保脚本中的文件夹名称正确。

; -- myapplication.iss --
; Demonstrates copying 3 files and creating an icon.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!

[Setup]
AppName=myapplication
AppVersion=1.0 
DefaultDirName={pf}\myapplication
DefaultGroupName=myapplication
UninstallDisplayIcon={app}\myapplication.exe
Compression=lzma2
SolidCompression=yes 
OutputDir=userdocs:Inno Setup Examples Output

[Files]
Source: "myapplication.exe"; DestDir: "{app}"    

[Dirs]
Name: "{app}\myapplication_Data";

【问题讨论】:

    标签: windows unity3d package unity5


    【解决方案1】:

    如果没有第三方软件,不可能打包 Unity3D 应用程序。

    a bit more recent url (2014) 建议使用smart packer,不过这是我个人从未使用过的工具。

    我倾向于使用inno setup,因为它看起来更专业一些,它可以简化移动文件、创建链接(快捷方式)和卸载相当多的工作。简单来说,就是把exe和_data文件夹解压到同一个文件夹,并创建exe的快捷方式。

    跟进编辑

    我安装了 Inno Setup 并尝试为我的应用程序创建脚本。它复制了 exe 文件,但 创建了一个空的数据文件夹,而不是复制我需要运行 exe 文件的数据文件夹。我检查以确保脚本中的文件夹名称正确。

    在安装向导的application files 部分选择主exe 文件后,您可以添加一个文件夹。在这里您可以选择要包含在安装程序中的yourgame_data 文件夹。然而,这确实需要一个额外的步骤。添加文件夹后,您需要将destination subfolder 设置为yourgame_data 才能正确创建子目录。您可以参考this picture guide 了解更多信息。我在下面包含了相关步骤。

    【讨论】:

    • 我刚刚尝试了免费试用 Smart Packer,但我需要一个 DLL 文件作为输入。我用该信息更新了我的问题。我发现另一个链接也建议 Inno Setup。我会看看它。感谢您的建议!
    • 我安装了 Inno Setup 并创建了一个安装文件。我无法执行 exe 文件,因为我编写的语句创建了一个空的数据文件夹,而不是复制我拥有的数据文件夹的内容。我用脚本和更多细节更新了我的原始问题。 [Dirs} 部分是我猜到的唯一用于数据文件夹的部分。
    • 非常感谢@mxd。我成功地创建了这个设置文件,并且游戏按预期执行。我想现在我所要做的就是决定在哪里分发这个设置文件,除了亚马逊。如果您将您的 cmets 组合到答案中,我会检查它。
    猜你喜欢
    • 2018-10-25
    • 2015-10-19
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多