C# C/S程序 win7没有权限操作文件

最近做项目的时候.碰到安装到win7里的程序,不能删除Access数据库中的数据.但是可以读取,且不能记录日志

xp下面没有问题

把安装目录的权限修改下就可以了.

原来是win7的权限问题.

解决办法是在项目中添加"应用程序清单文件"如下图vs2008中

C# C/S程序 win7没有权限操作文件

 

代码如下:

<?xml version="1.0" encoding="utf-8"?>

<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">

    <security>

      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">

        <!-- UAC 清单选项

            如果希望更改 Windows 用户帐户控制级别,请用以下节点之一替换

            requestedExecutionLevel 节点。

 

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />

        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

 

            如果您希望利用文件和注册表虚拟化提供

            向后兼容性,请删除 requestedExecutionLevel 节点。

        -->

        <requestedExecutionLevel level="asInvoker" uiAccess="false" />

      </requestedPrivileges>

    </security>

  </trustInfo>

</asmv1:assembly>

 

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

改为<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

即可