Unity发布exe安装包

发表于2018-08-28
评论0 3.4k浏览
当项目开发完成以后,对于我们的开发人员来说,最后一步就是去打包,其中Unity打包出来的PC项目是两个文件,一个.exe文件,一个Data文件夹。如果想运行,必须两个一块才能正常运行。

Window提供了可以对这个生成安装程序的方法,但下面要给大家介绍的是一个非常快捷方便的办法。使用RAR的自解压。

文档

如何使用winrar命令压缩文件夹,都可以在“WinRAR帮助文件”中找到

代码如下:
public static void GenerateWinExe(BuildTarget target, string pathToBuiltProject)
    {
        if (target != BuildTarget.StandaloneWindows)
        {
            return;
        }
        var rootFolder = Path.GetDirectoryName(pathToBuiltProject);
        var fileName = Path.GetFileNameWithoutExtension(pathToBuiltProject);
        var configFilePath = string.Format("{0}/{1}_sfx.txt", SFXConfigFolder, fileName);
        var buildAsExe = File.Exists(configFilePath);
        var exePath = Path.GetDirectoryName(rootFolder) + "/" + Path.GetFileName(rootFolder) + (buildAsExe ? ".exe" : ".rar");
        FileUtil.DeleteFileOrDirectory(exePath);
        var argList = ProcessHelper.CreateArgumentsContainer();
        var regKeyPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe";
        string winrarPath = null;
        try
        {
            var regKey = Registry.LocalMachine.OpenSubKey(regKeyPath);
            winrarPath = regKey.GetValue("").ToString();
            regKey.Close();
        }
        catch (Exception e)
        {
        }
        if (string.IsNullOrEmpty(winrarPath))
        {
            winrarPath = "WinRAR.exe";
        }
        argList.Add(winrarPath);
        argList.Add("a");
        argList.Add("-r");
        argList.Add("-ep1");
        if (buildAsExe)
        {
            argList.Add("-sfx");
            argList.Add("-iicon" + string.Format("{0}/{1}.ico ", SFXConfigFolder, fileName));
            argList.Add("-scuc");
            argList.Add("-z" + configFilePath);
        }
        argList.Add(exePath);
        argList.Add(rootFolder + "/*.*");
        var p = ProcessHelper.Start(ProcessHelper.CreateStartInfo());
        ProcessHelper.WriteLine(p, ProcessHelper.CreateArguments(argList));
        p.WaitForExit();
        Debug.Log(p.StandardOutput.ReadToEnd());
    }

1.通过注册表获取WinRAR的安装路径,如果没获取到,有可能安装的绿色版,可以在path里面配置路径,然后直接使用winrar.exe
2.添加自解压模块
3.添加图标

自解压模块
Path=默认安装路径
SavePath
Setup=游戏名.exe
Shortcut=D, 游戏名.exe, , , 快捷方式名,
1.设置默认安装路径
2.记录安装路径,下次安装会直接找到这个路径
3.自解压之后自动运行游戏
4.在桌面创建快捷方式

图标

图标得使用“转ICO.exe”之类的软件制作,否则不会在不同分辨率之下,有对应的图标。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签:

0个评论