Unity制作安装程序并写入注册表
exe 写入注册表
- 前言
- 将unity变成安装文件
- 将exe 写入注册表
- 在class root 里面
- C# 代码实现
- 将两个exe 结合起来
exe 注册进入注册表,其它程序可以调起。
前言
最近unity 发布exe 并且需要web 调用exe. 具体实施如下:
将unity变成安装文件
参考文档:
https://www.pianshen.com/article/20331986969/
将exe 写入注册表
参考文档:
http://www.uml.org.cn/net/201406202.asp
总结一下:
在class root 里面
1, key: URL Protocol value: 需要调用的exe 路径
2,创建 DefaultIcon 文件夹
写入: key : exeName value: exe路径,1
3,创建 "shell/open/command"文件夹
写入: key : exeName value: “exe路径,%1”
C# 代码实现
class Register{private string exeName = "MapEditor";/// <summary>/// 创建一个test注册表项,下面包含OpenLog,和SaveLog两个子项/// </summary>public void CreateRegistFile(string exePath){exePath = string.Format("{0}\\{1}.exe", exePath, exeName);Console.WriteLine("exepath="+exePath);//SOFTWARE在LocalMachine分支下 RegistryKey rootkey = Registry.ClassesRoot;RegistryKey appKey = rootkey.CreateSubKey(exeName);// RegistryKey subkey = appKey.CreateSubKey("Path");//新建键值,当键值名称为空时,将被设置为默认值//appKey.SetValue(null, "URL");appKey.SetValue("URL Protocol", exePath);RegistryKey defaultIcon= appKey.CreateSubKey("DefaultIcon");string exeOnePath = string.Format("{0},1", exePath);defaultIcon.SetValue(exeName, exeOnePath);RegistryKey shellKey= appKey.CreateSubKey("shell");RegistryKey openKey= shellKey.CreateSubKey("open");RegistryKey cmdKey= openKey.CreateSubKey("command");string valuePath = string.Format("\"{0}\" \"%1\"", exePath);cmdKey.SetValue(null, valuePath);cmdKey.Close();appKey.Close();}}class Program{static void Main(string[] args){Register tmpRegister = new Register();string str = System.Environment.CurrentDirectory;tmpRegister.CreateRegistFile(str);Console.ReadLine();}}
将两个exe 结合起来
1,制作unity 安装exe 的时候 将 第二个程序也制作成一个控制台程序 ,的名字放入下图中。
2,web 调用测试代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>......
</head><body><a href="MapEditor://command">点击启动</a></body>
</html>
Unity制作安装程序并写入注册表相关推荐
- 关闭惠普计算机通电启动注册表,惠普10代cpu电脑装win7卡logo(安装程序正在更新注册表设置)解决方法...
最近有很多网友问我惠普电脑10代cpu台式机安装win7卡在在更新注册表设置怎么办?出现这种情况一般情况是由于没有提前注入显卡驱动,现在很多新电脑都采用的集成显卡,10代以cpu采用的集显的话,在ue ...
- SQLserver --安装程序无法打开注册表项 UNKNOWN\Components\…的解决办法
安装SQL Server时出错: Microsoft SQL Server 2012 Service Pack 1 安装程序 出现以下错误: 无法打开项 UNKNOWN\Components\7A8D ...
- 错误1402 安装程序无法打开注册表项
卸载sql2005后 删错注册表,重装报错 解决方法 1. 依次点击开始,所有程序,附件,右键单击命令提示符,选择以管理员身份运行. 2. 复制或手动输入下列命令, secedit /configu ...
- office2013安装不上,错误1402。安装程序无法打开注册表项 UNKNOWN\Components\cc55ba............
解决方案:[已验证可用]依次点击开始,所有程序,附件,右键单击命令提示符,选择以管理员身份运行.运行:secedit /configure /cfg %windir%\inf\defltbase.in ...
- 如何解决Office2016安装时提示:错误1406。安装程序无法将值写入注册表项\.xlsx
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 一.当前问题 二.解决办法 一.当前问题 Office2016安装时提示:错误1406.安装程序无法将值写入注册表 ...
- Win8 解决错误 1406。安装程序无法将值OSE.exe写入注册表项。无法保存对main权限所作的更改
我的个人blog2018-9上线,地址:http://www.biegral.com 用了破Win8.装个Office2013都蛋疼. 下载了怎么安装都不对,感觉整理一个完美的解决方案. 安装错误1: ...
- sql无法写入mysql_安装sql2008R2数据库时提示错误1406,安装程序无法将值写入注册表项?...
摘要: 安装sql2008R2数据库时提示错误1406,安装程序无法将值写入注册表项 \software\classes\msolapadmin2.msolapsources.1.怎么解决呢? 这个问 ...
- 安装包制作工具 SetupFactory使用4:安装时写入注册表和拷贝文件到指定目录
环境: window10 SetupFactory9.1 一.安装时写入注册表 首先,我们需要准备好注册表项(我们可以直接在注册表编辑器中编辑好,然后导出),如下: 导出后的文件如下(testpubl ...
- C#部署安装,将用户安装路径记录下写入注册表,并启动
安装部署程序,将安装目录写入注册表 (1)在"安装部署项目"上点击"注册表编辑器" (2)在HKey_LOCAL_MACHINE_SoftWare 下新建键 M ...
最新文章
- 左滑右滑,在VS Code里滑个妹纸给你写喜欢的代码?
- 360视域分析 cesium_Cesium-空间分析之通视分析(附源码下载)
- 应用开发者必须了解的Kubernetes网络二三事
- Vue010_ 过滤器
- sql server规范
- ux的重要性_颜色在UX中的重要性
- oracle job 定时执行参数
- android 按键上浮动画_android – 浮动动作按钮动画
- php怎么使得字体滚动,滚动文字+字体特效代码(全集)
- MySQL存储过程语句(if,while)的使用
- 虚拟存储器管理c语言_内存管理;虚拟内存
- Linux 命令(36)—— awk 命令
- 实际返回的行数超出请求的行数_代码行数越少越好?
- 量化分析师的python日记_量化分析师的Python日记【第1天:谁来给我讲讲Python?】...
- 学习笔记——meta analysis
- 美国NSA泄露文件中提到的神秘APT组织被曝光
- 运营进阶:产品运营画布九要素
- 思考犹太家庭如何教育出这么多精英及富豪
- 联发科MT5580芯片处理器参数介绍
- jenkins使用时遇到“using GIT_ASKPASS to set credentials”