如何用VC++写安装程序

henry3 2000-02-13 07:15:00
请问如何用VC++写安装程序(由于我的应用程序很小,没有必要用Install shield之类的工具)?我想实现类似于winamp的自解压的安装程序,在桌面创建一个shortcut。希望能提供有较详细的源码,谢谢。
...全文
381 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eros 2000-02-17
  • 打赏
  • 举报
回复
VC本身带有SETUP API,要创建图标,使用IShellXXXX
kathywp 2000-02-14
  • 打赏
  • 举报
回复
fool
use 'SetupSDK'
in MSDN->SDK
Hover 2000-02-14
  • 打赏
  • 举报
回复
最简单的办法是有WinZip建立自解压文件。
在VC中有一个安装库,可用于写安装程序。
ljunfa 2000-02-14
  • 打赏
  • 举报
回复
我曾经提过有关的问题,前边有一位老兄愿意提供他自己的源代码。不错的,你可以找一找。
  • 打赏
  • 举报
回复
你不相信吗?用RAR作的安装盘根本看不出来是RAR作的,即使是没注册的共享软件,他也不会给你找任何麻烦,就像是用程序编的安装盘一模一样,仅生成一个.exe的安装文件,并且比其他压缩软件压缩的文件还小,因为RAR的压缩率比其他软件都大(.rc文件可不要作的太大呦)。
  • 打赏
  • 举报
回复
用 WinRAR 2.03 是一个另外的选择,一定要这个版本的,其他无论高低都没见过这个功能,我曾经用来蒙人的:
用任何 C++ 的资源编辑生成 .rc 的资源文件,里面包含几个图标和几个对话框,WinRAR会用一个非常简单的 script 语句调用你的对话框,然后创建快捷方式,而原来的对话框全都不用了。然后用 rar 压缩成自动释放文件 (.exe) ,最后用 C++ 编译器把你的 .rc 文件加入到自动释放文件里,生成 .exe 安装文件。由于众多压缩软件 rar 的压缩率几乎是最大的,你的安装盘比任何软件生成的都小很多很多。

rar 带有有详细的用法说明,在 SFX.TXT 里面。

例:

script文件(.txt): 文本文件
这个script可以按用户要求把软件安装到指定目录下,并在开始菜单建立一个快捷方式图标,对照资源文件很容易看懂。

MAIN
{
Dialog SETUP
}

SETUP:INIT
{
SetFont $101,"宋体",40
}

SETUP:$1
{
MASK *.*
SetPath $103
Extract $104
DeleteGroup "计费系统"
CreateGroup "计费系统"
AddItem "%%DJF.EXE","计费"
EndDialog
}

SETUP:$2
{
EndDialog
}


资源文件(.rc):用 C++ 资源编辑器生成

#define IDC_STATICTEXT1 101
#define IDC_STATICTEXT2 102
#define IDC_EDIT1 103
#define IDC_STATICTEXT3 104

SETUP DIALOG 0, 0, 219, 96
STYLE DS_MODALFRAME and DS_3DLOOK and WS_POPUP and WS_VISIBLE and WS_CAPTION and WS_SYSMENU
CAPTION "安装计费系统"
FONT 10, "System"
{
CONTROL "安装", IDOK, "BUTTON", BS_PUSHBUTTON and BS_CENTER and WS_CHILD and WS_VISIBLE and WS_TABSTOP, 100, 76, 50, 14
CONTROL "退出", IDCANCEL, "BUTTON", BS_PUSHBUTTON and BS_CENTER and WS_CHILD and WS_VISIBLE and WS_TABSTOP, 160, 76, 50, 14
CONTROL "计费系统安装程序", IDC_STATICTEXT1, "static", SS_LEFT and WS_CHILD and WS_VISIBLE, 12, 12, 184, 28
CONTROL "安装到", IDC_STATICTEXT2, "static", SS_RIGHT and WS_CHILD and WS_VISIBLE, 25, 46, 28, 8
CONTROL "C:\\JF", IDC_EDIT1, "edit", ES_LEFT and ES_AUTOHSCROLL and WS_CHILD and WS_VISIBLE and WS_BORDER and WS_TABSTOP, 56, 44, 140, 12
CONTROL "", IDC_STATICTEXT3, "static", SS_LEFTNOWORDWRAP and WS_CHILD and WS_VISIBLE, 28, 60, 168, 8
}

SFX_ICON ICON "ICON00.ICO"


编译(Borland C++例子):
copy e:\winrar\IWin.SFX *.exe
brc32 -fe.\iwin.exe Setuprc.rc
DEL IWIN.SFX
REN IWIN.EXE IWIN.SFX
E:\WINRAR\RAR A -SFX..\IWIN.SFX -R -A -Z..\SETSCR.TXT ..\SETUP.EXE *.*

WinRAR script有很强大的功能,自己好好研究研究,非常好用
  • 打赏
  • 举报
回复
(一) 压缩是个问题,一个笨招就是我见过一些安装盘用的是 WinZip 作的自释放文件,释放到一个临时目录,释放完自动运行一个可执行文件--安装程序,安装程序执行完删掉不需要的文件。如果自己能够处理解压过程,可以用压缩软件压缩,解压由安装程序进行,完全没有必要编压缩程序,如果软件特别小,也可以不压缩。我有ARJ的解压算法,如果需要可以email给你
(二) 安装程序完成的是复制文件到指定位置,然后在开始菜单和桌面等建快捷方式。
难点在于建快捷方式,这些基本上就够了
(三) 如果需要修改注册表,在安装程序结束前修改注册表
(四) 如果需要可以编一个uninstall
可以到这里看看有很多关于安装程序,快捷方式,注册表读写等,都很好的http://person.zj.cninfo.net/~vc/article/article.htm

kxy 2000-02-13
  • 打赏
  • 举报
回复
不错,install shiled很好:)
Firing_Sky 2000-02-13
  • 打赏
  • 举报
回复
用那些专用的谢安装程序的工具吧!如Install之类的

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧