如果我的软件在安装的时候,没有向注册表App Paths中添加信息,如何实现获取安装目录,并且更新安装目录

如题所述

目前我能想到的:
一是全盘遍历查找你的exe,但不说你也知道,这样既耗资源又不一定靠谱;
另外就是,如果你的程序是属于常驻内存型的,那就好办,遍历本机进程并获取每个进程的信息(进程名或程序集GUID~最可靠),在将之与你要找的程序的特征比较,一致即代表找到,那么该进程的映像路径即是程序所在目录。

但如果不是常驻型,遍历全盘也许是唯一的办法。
有了这些“教训”,以后记得向系统通报“我在哪儿”~呵追问

我脑袋都大了,这个程序不是我写的,安装时又没有往注册表App paths里写信息,真不知道该怎么更新。那么如何往注册表App paths里写信息呢?是在安装的时候?还是?
我是个刚毕业的菜鸟,还请老大多多指教,谢谢

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-04
软件安装时候没有提示?总有默认的安装路径把
还有注册表里需要写些什么信息?请详细点...追问

我要为一款软件做一个更新包,这个更新包要实现:1获取之前软件的安装路径(之前的软件并没有往注册表App Paths中写入任何信息),2根据安装路径,替换安装路径下的.txt文件,

如果我的软件在安装的时候,没有向注册表App Paths中添加信息,如何实现...
一是全盘遍历查找你的exe,但不说你也知道,这样既耗资源又不一定靠谱;另外就是,如果你的程序是属于常驻内存型的,那就好办,遍历本机进程并获取每个进程的信息(进程名或程序集GUID~最可靠),在将之与你要找的程序的特征比较,一致即代表找到,那么该进程的映像路径即是程序所在目录。但如果不是常...

安装软件出错,无法写入注册表怎么办
  4,进入“App Paths权限”窗口后,如果在“组或用户名称”中没有当前用户时,那就要“添加”一个。  5,如果用户名称已经存在,则选择自已用户名,这里以“RESTRICTED”为例,然后在下面的权限列表框中,勾选“允许”下的“完全控制”复选框,然后按“应用”与“确定”退...

怎样找到软件的注册列表?
在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作...

c#中如何通过注册表获取软件安装的路径,最好能贴个代码,有注释,谢谢
Console.WriteLine(appPath.GetValue(string.Empty).ToString());\/\/取exe路径(x:\\xxx\\xxx.exe)Console.WriteLine(appPath.GetValue("Path").ToString());\/\/取exe所在目录(x:\\xxx\\xxx\\)PS:不是所有软件都会在AppPath中注册,所以该方法不是所有软件的安装路径都能取。当然如果你要去更新的那个...

易语言寻找注册表路径启动软件
信息框 (“已重新搜索到QQ安装目录:” + #换行符 + #换行符 + 取文本注册项 (4, “SOFTWARE\\Tencent\\PlatForm_Type_List\\3\\TypePath”, ) + #换行符 + “马上运行”, 0 + 64, 程序版本).如果真结束 === 这是QQ的运行方式,你修改下路径就是你的程序路径 ...

什么是注册表?
在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作...

NSIS常见问题集锦 推荐新手参考学习
答:版本信息设置语句,放在 !insertmacro MUI_LANGUAGE 的后面,NSIS 要注重次序的。如果使用古典界面,放在 LoadLanguageFile "${NSISDIR}\/Contrib\/Language files\/SimpChinese.nlf" 的后面。问:如何禁止显示 banner 。答:图示的效果是因为安装程序初始化的时候,也就是 .onInit 函数里需要用到某个文件的时候安装程序...

请问一下注册表是什么玩意 他的作用是什么?
在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作...

注册表是干什么用的?
在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作...

什么是注册表,它是如何分组的?
通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win...

相似回答