我有一个使用Visual Studio 2012创建的C#程序。使用Install Shield的性别安装程序,事实证明,在查找数据库的路径时,程序始终生成路径...虽然我的计算机在其他地方运行它电脑。
我不明白为什么会这样,因为我使用了函数:
Application.StartupPath
这应该是每个用户运行程序的路径。
为什么它无法正常工作?
答案 0 :(得分:1)
这可能是权利问题。如果程序通过UAC在有限权限“沙盒”中运行,则可能会发生路径不同,因为Shadow-Copy等。
您可以尝试使用以下内容:
System.Reflection.Assembly.GetExecutingAssembly().Location
<强> BUT 强>
将DB保存在应用程序文件夹中是否明智?如果用户不是管理员,他就不能写在那里=&gt;应使用%APPDATA%
,例如, Modify path string to improve robustness