返回列表 回复 发帖

配置文件foobar2000.cfg无法写入

nsis编程测试:配置文件foobar2000.cfg无法写入
请看下面一段NSIS编程:
Section "配置文件" foocfg
SectionIn 1 2
SetOutPath "$AppData\Roaming\foobar2000"
ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 15" "State"
StrCmp $0 1 0 +2
File ".\include\foobar2000.cfg"
ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 16" "State"
StrCmp $0 1 0 +2
File ".\resource\cfg_columns\foobar2000.cfg"
WriteINIStr "$INSTDIR\installer.ini" foobar2000 cfg 1
SectionEnd
我使用的操作系统是windows vista, 测试显示配置文件foobar2000.cfg无法写入 "系统盘\当前用户\AppData\Roaming\foobar2000"。很可能是
                    SetOutPath "$AppData\Roaming\foobar2000"
    这条编程有误。

谁能帮我解决这个问题?
foobar2000.cfg直接安装在foobar2000安装文件夹就行,要那么多功夫吗?
是不是v系统权限问题
我怎能没有个性签名,我为什么没有个性签名,我怎么也得弄个个性签名.
SetOutPath "$AppData\Roaming\foobar2000"
...
File ".\include\foobar2000.cfg" ;得 $AppData\Roaming\foobar2000\foobar2000.cfg
...
File ".\resource\cfg_columns\foobar2000.cfg" ;得 $AppData\Roaming\foobar2000\foobar2000.cfg

$AppData\Roaming\foobar2000\foobar2000.cfg 就是目标文件。
如果该文件正在被使用,便无法写入。

回复 2# 的帖子

在VISTA下为何这条指令
Delete $AppData\Roaming\foobar2000\foobar2000.cfg
无法执行
而在XP下
Delete $AppData\foobar2000\foobar2000.cfg
可以呢?

回复 4# 的帖子

加一句  RequestExecutionLevel user 试试
求助的语气相当恼人,想必没多少人愿意出手相助。
如果想自己的求助路途一路畅通,改改自己的语气,或许你在其他论坛是版主,是被人称为大师也好,在这里只要你是求助的,就学着把语气放缓点。谁都想有个好心情,举手之劳何乐而不为呢?


请将已得到答案的帖子改为 【已解决】 分类!!!

谢谢合作!
后来我发现在XP和VISTA下,删除配置文件可使用同一指令
            Delete $AppData\foobar2000\foobar2000.cfg
原来是这样呵
我的也出现了这个问题,但是很奇怪我的另一个程序却没有问题。
什么乱七八糟的。
我的加上了 “RequestExecutionLevel user”也不好使。晕啊
什么乱七八糟的。
返回列表