c++创建安装程序和处理提取的“聪明”方法是什么
c++ what is the *clever* way of creating setup program and handle extraction
我知道如何创建并编写自己的安装程序,但在某个时候我需要重定向。这一点我相信也会影响到其他人。
我创建了一个安装项目。一切都完成了。除了EXE中的安装文件。
我知道两种不同的方法:
- 在EXE中创建资源并嵌入RAR/ZIP文件
- 将压缩档案与EXE文件一起放入。EXE将从这个受保护和压缩的ZIP中读取内容和数据
但我想要的是数字1。我想嵌入它。但是;
- 嵌入此内容的正确方式是什么?其他设置创建者也做同样的事情吗?在EXE中以压缩的单个zip嵌入资源?或者他们是另一个把戏
- 如何提取文件?凭记忆飞行?喜欢一个接一个地阅读每个文件。已同步。或者首先,将ZIP复制到temp并从中提取
- 甚至可以将所有文件单独嵌入到资源中
I、 甚至认为,如果我应该创建一个没有对话框的简单MSI,并将其嵌入并从后台运行,但我想控制一切。我希望一切都属于我创建的原始设置。
注:
我想制作自己的对话框、效果、程序、函数和步骤。是的,MSI是可以接受的,但我会坚持它的功能。哦如果我能延长它,为什么我要花更多的时间做这件事而不是自己做?我很困惑。。。我在这里谈论的是一个非常大的设置项目。不仅仅是一个功能较少的标准丑陋用户界面。至少,我会试试:)
不要给我任何样本/代码请给我一个正确的路径。
此处的最佳选项:
- 创建ZIP兼容的EXE,将其自身读取为ZIP,并读取文件列表和提取
- 创建一个非zip兼容的EXE,它有一个隐藏的主体在某个地方,并读取该区域(查找)和获得列表&提取物
正确的方法是使用Windows安装程序技术,也就是MSI。有一个很好的,微软祝福的工具集,叫做WiX,你可以用它来大大简化这个过程。
http://wix.codeplex.com/
如果你真的想重新发明轮子,你可以查看WiX的源代码,了解如何完成任务。
此处的最佳选项:
- 创建ZIP兼容的EXE,将其自身读取为ZIP,并读取文件列表和提取
- 创建一个非zip兼容的EXE,它有一个隐藏的主体在某个地方,并读取该区域(查找)和获得列表&提取物
为什么要自己写?更容易使用WiX(http://wixtoolset.org/)可选的图形界面,如WiXEdit(http://wixedit.sourceforge.net/)。你有没有想过卸载等附加要求…
祝你好运!
InnoSetup会帮助解决您的问题吗?您可以对对话框进行个性化设置,并扩展其功能。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 通过方法访问结构
- 最小硬币更换问题(自上而下方法)
- C++为构建时间获取QDateTime的可靠方法
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 有什么方法可以遍历结构吗
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 使用std::函数映射对象方法
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 运算符重载C++、(+、-、*、/ 等)有没有比复制、替换和粘贴更聪明的方法?
- 在 C++ 中清理脏标志的聪明方法
- 减少 if-elseif 语句的聪明方法
- c++创建安装程序和处理提取的“聪明”方法是什么
- 有没有一种聪明的方法可以禁止通过派生类之一隐藏基类的运算符函数
- 编译器是否足够聪明,可以优化成员与静态方法参数相同的函子
- 在滚动窗口上应用矩阵乘法的最聪明的方法