论坛首页
论坛首页 开发者论坛 PortableApps开发 注册表资讯问题请教

注册表资讯问题请教

讨论关于便携软件开发的技术与问题,包括PAL、NSIS、VMware ThinApp及其他。
帖子 2012-09-06 18:56
achung 两把菜刀
两把菜刀

帖子: 12
我制作了一个便携软件
此软件在安装程序时

[HKEY_LOCAL_MACHINE\SOFTWARE\AppName]
[HKEY_CURRENT_USER\Software\AppName]
注册新增一些值
也将其导出并存成AppNamePortable.reg

我的Launch.ini内容是:

[Launch]
ProgramExecutable=AppName\AppName.exe
DirectoryMoveOK=yes

[Activate]
Registry=true

[RegistryKeys]
AppNamePortable=HKEY_LOCAL_MACHINE\SOFTWARE\AppName
AppNamePortable=HKEY_CURRENT_USER\Software\AppName

[RegistryCleanupIfEmpty]
1=HKEY_LOCAL_MACHINE\SOFTWARE\AppName
2=HKEY_CURRENT_USER\Software\AppName


现有3个问题
1.
无论把AppNamePortable.reg文档放在
AppNamePortable-Data-settings路径下,或是放在
AppNamePortable-App-DefaultData-settings路径下
程序启动时并不会把AppNamePortable.reg增加到注册表中

2.
在程序启动前手动点击两下AppNamePortable.reg
资讯增加成功,程序运行正常
退出程序后并没有自动清除注册表资讯

也试着把其中一项改成
[RegistryKeys]
-=HKEY_LOCAL_MACHINE\SOFTWARE\AppName
-=HKEY_CURRENT_USER\Software\AppName
一样不会自动清除注册表资讯


3.
AppNamePortable.reg文档中有几行资讯

[HKEY_LOCAL_MACHINE\SOFTWARE\AppName\ACLT-1:404]
@=""
"ACLT"="C:\\Program Files\\Common Files\\AppName Shared;C:\\Program Files\\AppName\\;C:\\Program

Files\\AppName\\Support;C:\\Program Files\\AppName\\Fonts;C:\\Program Files\\AppName\\Express"
"Dealer"="o"
"DealerPhone"="o"
"FirstName"="."
"LastName"="."
"LocaleId"="404"
"Location"="C:\\Program Files\\AppName"

[HKEY_LOCAL_MACHINE\SOFTWARE\AppName]
"MODULE"="C:\\Program Files\\AppName\\AcPltStamp.arx"

一定要把文档放到C:\Program Files\相关路径下程序才会正常运行
但是便携就是不限路径
这样在上述资讯要如何修正

jooseng 革命同志
革命同志

帖子: 3490
1 & 2
必须以两个 reg 文件保存。例如 AppNamePortable1.reg 和 AppNamePortable2.reg。
Launch.ini 相应的部分也要改:
[RegistryKeys]
AppNamePortable1=HKEY_LOCAL_MACHINE\SOFTWARE\AppName
AppNamePortable2=HKEY_CURRENT_USER\Software\AppName

把两个文件保存到 “AppNamePortable\App\DefaultData”

如果要保存到 “AppNamePortable\App\DefaultData\settings” 里, Launch.ini 必须改为:

[RegistryKeys]
settings\AppNamePortable1=HKEY_LOCAL_MACHINE\SOFTWARE\AppName
settings\AppNamePortable2=HKEY_CURRENT_USER\Software\AppName

删除Data文件夹。因为只有当Data文件夹不存在或为空Launch才会把DefaultData的内容抄到Data文件夹去。


3
一般上程序会搜索自己所在文件夹。试试看把有关路径的那几行删掉后程序能否正常运行。
如果不能就要等David或别人来回答了,因为我也不会。

能把软件名字公开吗? 如果能的话,最好也能把软件上传。 用 winPenPack 格式我就会。

achung 两把菜刀
两把菜刀

帖子: 12
我依你的方法改过
注册表依然没有增加
倒是settings内的AppNamePortable1.reg 和 AppNamePortable2.reg有增加到Data中

路径部份如果没指定就会出现找不到文档的讯息
因为相关文件夹资料很多
不能全部丢到主程序文件夹

软件是某绘图商业软件
不能在版上公开,有违版规
如果可以我私下给

jooseng 革命同志
革命同志

帖子: 3490
你是指在运行中没有被导入? 忘了提醒你,关系到 HKEY_LOCAL_MACHINE 须要以管理员身份运行。

achung 两把菜刀
两把菜刀

帖子: 12
你是說在appname.exe上以右鍵選管理員運行?
那如果開機就是管理員身份呢

jooseng 革命同志
革命同志

帖子: 3490
achung 写道:
你是說在appname.exe上以右鍵選管理員運行?
那如果開機就是管理員身份呢

如果開機就是管理員身份, 那任何操作都是以管理員身份进行。

achung 两把菜刀
两把菜刀

帖子: 12
问题来了~~~
我现在就是用管理员开机的啊


回到 PortableApps开发