使用Advanced Installer制作美观强大的安装包程序

2020/08/06 Tools 共 1872 字,约 6 分钟

在百度上找安装包创建程序,最后发现advanced installer是功能强、易上手且无毒的,可以说是制作安装包的首选。


参考网址

下载地址

http://xiazai.zol.com.cn/detail/11/107230.shtml

使用案例

以本项目的一个由unity导出的windows平台程序为例,源文件如下

新建AdvancedInstaller工程,此处选择通用模板

进入工程,在左侧列表中,可以看到该工具功能非常强大,涵盖安装包生命周期的各种需求。

image-20200806213124941

产品信息中,右边的部分是必填的

image-20200806212608450

而我们安装包的文件,则通过资源→文件和文件夹进行添加

我们需要选择安装完成后出现在开始菜单中的主程序,这个功能可以通过添加磁贴来实现

注册表是一个很重要的功能,本项目需要从另一软件中通过C++代码启动此次安装的主程序,因此需要新建注册表项,和键值,编辑键值时选择“文件…”,选择主程序后,不管软件安装在什么目录,我们都可以通过访问这个键值找到程序入口。

如果您有类似的需求,我们实现C++读取注册表打开程序的实现如下,供参考:

// Created by Keenster
// 2020.8.6
// keenster.cn
//
#include <Windows.h>
#include <iostream>
#include <tchar.h>
#include <string>
#define SIZE 256

std::string pvpath;//PlanningViewer安装目录
int InitUnityPath() {
	HKEY hKEY;
	LPCTSTR data_Set = _T("SOFTWARE\\JNPlanViewer");//主键值
	long ret0, ret1;//返回值
	DWORD dataType;//数据类型
	DWORD dataSize;//数据长度
	char data[SIZE] = { 0 };

	char biosVendor[SIZE];
	memset(biosVendor, 0x41, SIZE);
	ret0 = RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_Set, NULL, KEY_READ, &hKEY);//打开主键
	if (ret0 != ERROR_SUCCESS)        //如果无法打开hKEY,则中止程序的执行  
	{
		printf("注册表打开失败 !!\n");
		return 1;
	}
	ret1 = RegQueryValueEx(hKEY, _T("exepath"), NULL, &dataType, (LPBYTE)&data, &dataSize);//获取数据
	if (ret1 != ERROR_SUCCESS)       //如果无法打开hKEY,则中止程序的执行  
	{
		return 1;
	}
	for (unsigned i = 0, j = 0; i < dataSize; i += 2, j++)
	{
		memcpy(biosVendor + j, data + i, 1);
	}
	printf("路径信息: %s\n", biosVendor);  
	RegCloseKey(hKEY);        // 程序结束前要关闭已经打开的 hKEY。  
	pvpath = biosVendor;
	//pvpath+="\\DPMtoHLL2019.exe";
	return 0;
}
bool OpenUnity() {
	if (pvpath.empty())
		return false;
	std::string dosstr = pvpath;
	LPCSTR lpcstr = dosstr.c_str();
	if (WinExec(lpcstr, SW_SHOW) > 31) {
		return true;
	}
	else return false;
}

int main()
{
	InitUnityPath();
	OpenUnity();
    std::cout << "Hello World!\n";
}

回到我们的安装包制作,下一步就是选择一个酷炫的主题了!Advanced Installer很用心地提供了各种不同风格的主题,以满足各个年龄段码农的口味(x)当然你也可以对每个主题进行再次编辑,修改页面元素,增加新的页面。

image-20200806215113445

image-20200806215147668

etc. 太多了

另一个可以提升安装体验的地方是安装参数,这里可以选择快速安装,加快安装速度

image-20200806215657948

最后就是制作安装包,打开部署→构建,生成安装包

image-20200806215818659

安装包效果如下,简洁大方)

image-20200806215915123

温馨提示:如果显示NETWORK ERROR,请使用https://keenster.cn方式打开本站

Search

    Table of Contents