平台安装时写入注册表的打包方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了平台安装时写入注册表的打包方法相关的知识,希望对你有一定的参考价值。

最近根据客户要求,在用户下载办公系统安装包安装后,将直接从网页登陆,这需要在注册表中写入delit项,在此之前平台一直采用的是安装好后,从平台提供的登陆界面登陆然后在向注册表添加项。

要解决这个问题,只能在用户安装好客户端后就自动的向注册表写入delit项。下面是实现方法:
1、我们使用下图中所示工具进行安装包打包:
技术分享 
2、具体打包步骤可以参照http://plat.delit.cn/article-1-167.html 
3、点击安装之后——双击结束安装——点击操作——选择On Preload事件,如下图所示:
技术分享 
4、在On Preload事件中插入下列代码:

--写注册表,支持网页调用客户端
result = Registry.DoesKeyExist(HKEY_CLASSES_ROOT, "Delit");

if (result) then
        Registry.DeleteKey(HKEY_CLASSES_ROOT, "Delit");

end

Registry.CreateKey(HKEY_CLASSES_ROOT, "Delit");
Registry.CreateKey(HKEY_CLASSES_ROOT, "Delit\\DefaultIcon");
Registry.CreateKey(HKEY_CLASSES_ROOT, "Delit\\shell\\open\\command");


strPath = String.Concat(SessionVar.Expand("%AppFolder%"), "\\DLSOFT.exe");

    
Registry.SetValue(HKEY_CLASSES_ROOT,"Delit","","URL: Delit Protocol 协议",REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT,"Delit","URL Protocol",strPath,REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT,"Delit\\DefaultIcon","",String.Concat(strPath,",1"),REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT,"Delit\\shell\\open\\command","",String.Concat("\"",String.Concat(strPath,"\" \"%1\"")),REG_SZ);

原文地址:http://bbs.delit.cn/thread-822-1-1.html

转载请注明出处:

撰写人:度量科技http://www.delit.cn

以上是关于平台安装时写入注册表的打包方法的主要内容,如果未能解决你的问题,请参考以下文章

以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程

web转APP一键打包App--网站转APP文档

VMWare------安装时出现无法将值写入注册表项

html代码直接打包封装成APP文档

inno setup打包的安装文件更换位置后图标改变了

Setup Factory打包时注册com dll