如何将Unity3D 5 Windows应用程序打包到单个exe文件中?

时间:2016-05-12 14:52:57

标签: windows unity3d package unity5

我是Unity3d开发的新手。我创建了两个版本的3D拼图应用程序,一个用于Mac,另一个用于Windows。创建Mac应用程序时包含其中的包内容。 Windows应用程序是使用exe文件和一个与exe文件+后缀_Data同名的单独数据文件夹创建的。我想创建一个单独的exe文件,以便在亚马逊和其他可下载平台上分发。我遇到的问题是找到数据文件夹和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但在那里找不到任何东西。

更新5/12/2016 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";

1 个答案:

答案 0 :(得分:2)

如果没有第三方软件,打包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。我在下面列出了相关步骤。

enter image description here