zoukankan      html  css  js  c++  java
  • Wix 安装部署教程(七) 获取管理员权限

        应用程序运行的时候,难免会读写文件,产生新的数据。但Program Files下的文件是不能随便更改,Win7下如果没有权限,将会被拒绝。我现在有两种方式,一种是将数据路径移到Program Data目录下,一个是给文件赋予权限。

    ProgramData

    <Directory Id="CommonAppDataFolder">
            <Directory Id="YourFolder" Name="YourFolder">
             <Directory Id='dirC9846820F5B48BC9EAD9F647E841B025' Name='DemoProject' >
                  <Directory Id='dirF6068DAA29DBB05A7EAD1E3B5A48BBEE' Name='Data' />
                  <Directory Id='dir10737BF4DF605200AA7B844D908DAED9' Name='GraphicPages' />
                  <Directory Id='dir16D2B386B2034B9488996466AAAE0B57' Name='History' />
                  <Directory Id='dirBE8545AE7AB0276E15898AAE7ACFBD7A' Name='Resource' />
                </Directory>
            </Directory>
          </Directory>

    当然这种方式你的应用程序路径要支持。

    获取文件夹读写权限

     <DirectoryRef Id='dirB59C44B238E764B86C6DFC0A8045E3FA' >
          <Component Id='cmpB59C44B238E764B86C6DFC0A8045E3FA' Guid='BDAA4089-F7C0-42E8-928E-B81901938FCD' KeyPath='yes' >
           
            <CreateFolder Directory="dirB59C44B238E764B86C6DFC0A8045E3FA">
               <Permission User="SYSTEM" GenericAll="yes"/>
               <Permission User="EveryOne" GenericAll="yes"  GenericRead="yes" Read="yes" ReadAttributes="yes"  GenericExecute="yes" TakeOwnership ="yes"  GenericWrite ="yes"    WriteAttributes="yes" ReadPermission ="yes"   ChangePermission="yes" />
               <Permission User="Users" Domain="[LOCAL_MACHINE_NAME]"  GenericRead="yes" Read="yes" ReadAttributes="yes"  GenericExecute="yes" TakeOwnership ="yes"  GenericWrite ="yes"    WriteAttributes="yes" ReadPermission ="yes"   ChangePermission="yes"/>
              
            </CreateFolder>
          </Component>
        </DirectoryRef>

    这个需要应用WixUtilExtension.dll ,Wix命名空间也要加上: xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" >

      开始没有加EveryOne,还是不能保存,加了才ok。安装完图标多了一个标志。

      应该还有更好的办法或者思路,路过朋友还请赐教。

  • 相关阅读:
    程序员怎么提高英语阅读水平【转】
    Linux后台执行【转】
    pcre安装错误的解决方法
    编译PHP错误:undefined reference to `ts_resource_ex'
    apache2启动时共享库libpcre找不到
    设置Ubuntu的IP地址
    vsftp 的应用
    用Python实现动态的切换桌面背景
    DNN 4.x CodeSmith模板
    如何在DNN中使用Google Analytics
  • 原文地址:https://www.cnblogs.com/stoneniqiu/p/3981644.html
Copyright © 2011-2022 走看看