有谁用过SETUP FACTORY 7啊,求救,怎么%AppFolder%不能使用啊?望速告

l680103 2004-12-29 05:58:49
在onpreinstall里有:
Folder.Create("%AppFolder%\\exchange");
Registry.CreateKey(HKEY_LOCAL_MACHINE, "Software\\my");
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\my", "server", "%AppFolder%", REG_SZ);

onpostinstall有
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "AutoStop", "Yes", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "DatabaseFile", "%AppFolder%\\check.db", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "Driver", "%AppFolder%\\dbodbc7.dll", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "UID", "dba", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "PWD", "sql", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "Integrated", "No", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "Start", "%AppFolder%\\dbeng7 -d -Q -c512", REG_SZ);


只有Folder.Create("%AppFolder%\\exchange");
确实起作用了,比如安装在d:\cc,就可以建立文件夹,d:\cc\exchange
而修改注册表的所有内容,在修改后都是"%AppFolder%”的原样,根本没有取安装路径,在6版本没有这个问题啊,应该怎么引用啊?难道Registry.SetValue不支持SESSION VARIABLE引用?
...全文
755 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fredxiong 2005-01-04
  • 打赏
  • 举报
回复
%AppDir%
liuyxit 2004-12-30
  • 打赏
  • 举报
回复
我用的也是6.03
balloonman2002 2004-12-30
  • 打赏
  • 举报
回复
我用的SETUP FACTORY 6.03 ,可以直接使用%AppFolder%,没有问题,:)
l680103 2004-12-29
  • 打赏
  • 举报
回复
居然用补丁解决的,定义一个变量VAR,然后变量用GETVAR取AppFolder的值,
%AppFolder%+"\\dbeng7 -d -Q -c512"
用 VAR .. "\\dbeng7 -d -Q -c512" 替换后可以,但怎么就不能直接用%AppFolder%呢?版本6里可以的啊
zhangdatou 2004-12-29
  • 打赏
  • 举报
回复
帮顶
l680103 2004-12-29
  • 打赏
  • 举报
回复
救命啊
l680103 2004-12-29
  • 打赏
  • 举报
回复
没有引号框住%AppFolder%系统就报错,邪门
l680103 2004-12-29
  • 打赏
  • 举报
回复
试过了,不行啊,保存就报错
liuyxit 2004-12-29
  • 打赏
  • 举报
回复
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "AutoStop", "Yes", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "DatabaseFile", %AppFolder%+"\\check.db", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "Driver", %AppFolder%+"\\dbodbc7.dll", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "UID", "dba", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "PWD", "sql", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "Integrated", "No", REG_SZ);
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\ODBC\\ODBC.INI\\my", "Start", %AppFolder%+"\\dbeng7 -d -Q -c512", REG_SZ);
liuyxit 2004-12-29
  • 打赏
  • 举报
回复
试试:

Folder.Create("%AppFolder%\\exchange");
Registry.CreateKey(HKEY_LOCAL_MACHINE, "Software\\my");
Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\my", "server", %AppFolder%, REG_SZ);//不要双引号

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧