Windows窗体项目(C#)正在将文件移动到用户';s目录
我有一个Windows窗体项目,并创建了一个安装向导项目,以便我的用户可以在下一个完成方式中安装它 这个项目使用MicrosoftAccess作为数据库,我正确地将数据库文件添加到SetupWizard,一切正常 但是,在重新安装之后,我注意到windows正在将数据库文件从“应用程序文件夹”复制到C:\users\myUser\AppData\Local\VirtualStore\Program Files(x86)\ 仅供参考,app.config中的我的连接字符串:Windows窗体项目(C#)正在将文件移动到用户';s目录,c#,.net,winforms,setup-project,visual-studio-setup-proje,C#,.net,Winforms,Setup Project,Visual Studio Setup Proje,我有一个Windows窗体项目,并创建了一个安装向导项目,以便我的用户可以在下一个完成方式中安装它 这个项目使用MicrosoftAccess作为数据库,我正确地将数据库文件添加到SetupWizard,一切正常 但是,在重新安装之后,我注意到windows正在将数据库文件从“应用程序文件夹”复制到C:\users\myUser\AppData\Local\VirtualStore\Program Files(x86)\ 仅供参考,app.config中的我的连接字符串: <connect
<connectionStrings>
<add name="<ProjectName>.Properties.Settings.databaseConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\database.mdb;Persist Security Info=True;Jet OLEDB:Database Password=MyPassword"
providerName="System.Data.OleDb" />
</connectionStrings>
如果我只是将ProjectOutput中的.exe和database.mdb收集到同一个文件夹中,它就可以正常工作
当我进行安装时,它会将数据库文件复制到C:\users\myUser\AppData\Local\VirtualStore\Program Files(x86)\folder,这是一个问题,因为我希望用户将其安装在他喜欢的地方,并且该文件只保留在那里。(顺便说一句,这是软件需求)
我还尝试安装到“当前用户”和“所有用户”,其行为是相同的。您在UAC系统上发现了文件夹重定向,这就是在某些操作系统版本上写入受限文件夹时发生的情况: 您的代码需要一个提升清单,以便要求用户提升到admin。这可能有助于: 您需要requestedexecutionlevel管理员
如果您希望有限的用户能够使用您的应用程序,请重新设计它,使其不会写入需要管理员权限的内容。这就是像用户的应用程序数据这样的文件夹的用途 您无法在正常使用期间写入程序文件。选择此选项可能会有所帮助。谢谢@SLaks!!你的回答是正确的。我现在必须找到一个解决办法^^