【发布时间】:2010-09-22 05:26:59
【问题描述】:
所以我一直在写信给
Environment.SpecialFolder.ApplicationData
此数据文件,卸载时需要删除。我正在使用 Innos Setup 来构建我的安装程序。这对我很有效。所以我的数据文件挂在上面的路径中,当我曾经尝试将它写入时,我这样做了
Application.ExecutablePath
我测试过的某些盒子会在我尝试在那里写入数据时引发严重错误。我做研究,不知何故它并不总是可写的,它是我如何想出 Environment.SpecialFolder.ApplicationData
这就是我的数据文件现在驻留在 SpecialFolder.ApplicationData 中的原因。问题是如果用户卸载并重新安装我需要那个文件消失。这可能是我对 Innos 的了解不足,但我不知道如何知道该文件将在哪里告诉 innos。
然后我想我有一个聪明的解决方案:Innos 可以在卸载完成后运行一个文件,所以我让我的程序创建这个文件“uninstallData.bat”,上面写着:
del "the file in my special folder application data path"
我把它写给drumroll
Application.ExecutablePath
(是的,它正在开发中,我忘记了它是不可行的。)
所以我当然回到第一方,我需要将文件写入 Innos 知道的关于 {app} 的路径,并且我需要它能够删除我在 SpecialFolder 中的数据文件......我不关心我是怎么做的,我只需要那个文件消失。
还有其他环境。或应用程序。我错过了什么?也许某个卸载程序可以查看并且可以写入的地方?
顺便说一句,我不确定为什么我开发的盒子可以写入应用程序文件夹没有问题,但它不能在其他盒子上......很奇怪。
对于如何破解这个坚果,任何输入都会丢失。
【问题讨论】:
-
请codejoy,重新改写你的问题,让每个人都能明白你在说什么......
-
默认情况下,在 Windows XP 及更高版本上 Application.ExecutablePath 需要管理员权限(或至少是高级用户)才能写入。