Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows窗体项目(C#)正在将文件移动到用户';s目录_C#_.net_Winforms_Setup Project_Visual Studio Setup Proje - Fatal编程技术网

Windows窗体项目(C#)正在将文件移动到用户';s目录

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

我有一个Windows窗体项目,并创建了一个安装向导项目,以便我的用户可以在下一个完成方式中安装它

这个项目使用MicrosoftAccess作为数据库,我正确地将数据库文件添加到SetupWizard,一切正常

但是,在重新安装之后,我注意到windows正在将数据库文件从“应用程序文件夹”复制到C:\users\myUser\AppData\Local\VirtualStore\Program Files(x86)\

仅供参考,app.config中的我的连接字符串:

<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!!你的回答是正确的。我现在必须找到一个解决办法^^