首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

有什么简单的办法可以把一个 exe 和一堆烂七八糟的资源文件封装成一个独立可用的 exe 吗?

  •  
  •   coderluan · 230 天前 · 1427 次点击
    这是一个创建于 230 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的处理办法是把乱七八糟的文件全读到字符串里,这样便只生成一个 exe,但是感觉不是很方便呢。

    21 回复  |  直到 2019-04-23 13:36:38 +08:00
        1
    ysc3839   230 天前 via Android   ♥ 2
    跨平台的办法是把文件数据作为常量编译进去。或者使用 Windows only 的 exe Resources。
        2
    geelaw   230 天前
    这个操作叫做安装 /自解压。可以用 iexpress.exe 实现。
        3
    yukiww233   230 天前   ♥ 1
    Thinstall
        4
    shihira   230 天前 via Android
    并不,其实写到 data 段里是最方便的了,还能利用系统的换入机制不用自己读
        5
    coderluan   230 天前
    APPEND:我想要一个独立的执行文件从而隐藏那些烂七八糟的文件,不是要把他们打包了再解压。 @geelaw

    @ysc3839 常量就是现在的办法. RC 文件我得看看,不确定类型能不能都支持。

    @yukiww233 就是这种,我去看看。
        6
    coderluan   230 天前
    @shihira 不方便是文件太乱七八糟导致的,不是读字符串不方便........
        7
    lshero   230 天前
    压缩后用自解压后运行 exe 哪里不好呢?
        8
    flyz   230 天前 via Android
    @coderluan 自动解压到临时文件夹里面,关闭自动删除,这个用户也看不到呀。
        9
    guyujiezi   230 天前
    winrar 自解压 exe
        10
    shihira   230 天前 via Android
    @flyz 会增加启动时间,性能不好
    @coderluan 组织文件的方法有很多啊,比如说生成一个文件名 - 指针+长度的 map,继续做下去就是一个 vfs 了
        11
    geelaw   230 天前 via iPhone
    @coderluan #5 你没有看出来的是,即使你最终实现了用户看不到那些乱七八糟的文件,结果仍然是在某个地方虚拟地实现了这个事情(如果你 blackbox 实现这件事情,而不是把所有的代码都重构一遍),默认假设就是用户看不见临时文件夹里的东西。所以请用 #7 #8。
        12
    coderluan   230 天前
    @lshero 简单来说,我们不想让用户看见那些乱七八糟的东西。
    @flyz 文件太大,每次解压重新解压要么了。
        13
    misaka19000   230 天前
    用工具把数据直接 dump 到 rodata 区呢,之后再通过地址直接读

    之前在《程序员的自我修养》里面看过这种做法
        14
    coderluan   230 天前
    @geelaw 我们默认假设是,用户会翻看目录(包括临时文件夹),但是不会拆你的 exe,这就是关键问题。PS:这个默认我说了不算。
        15
    coderluan   230 天前
    @misaka19000 这个和现在存字符串的方式没啥本质区别。
        16
    pckillers   230 天前
    生成 winrar 自解压包并设置自动解压路径和自动执行程序。 然后再改个 exe 图标。 完工
        17
    2010   230 天前
    建立一个主程序(导航,用户自由选择程序 我做过类似的集中制管理
        18
    Nasei   230 天前   ♥ 1
    Resources.resx 这种应该可以吧? .net core 也能用
        19
    silentstorm   230 天前 via Android
    VS 就可以吧,只不过生成的文件会很大
        20
    ChenXuting   230 天前 via iPhone
    火凤安装包制作大师?
        21
    dyxLike   229 天前
    网上很多 单文件封装工具 不知道能不能满足需求
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3391 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 04:40 · PVG 12:40 · LAX 20:40 · JFK 23:40
    ♥ Do have faith in what you're doing.