Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

Unity发布exe安装包

$
0
0

本文源链接:http://blog.csdn.net/qq393830887/article/details/56017401

说明

  • 仅仅是使用winrar生成自解压模块

文档


- 如何使用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”之类的软件制作,否则不会在不同分辨率之下,有对应的图标

作者:qq393830887 发表于2017/2/20 18:19:35 原文链接
阅读:13 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>