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

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

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

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

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

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

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

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