应用程序运行的时候,难免会读写文件,产生新的数据。但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。安装完图标多了一个标志。

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

Wix 安装部署教程(七) 获取管理员权限的更多相关文章

  1. WIX 安装部署教程(六) 为你收集的七个知识点

    前段时间整理5篇WIX(Windows Installer XML)的安装教程,但还不够完善,这里继续整理了七个知识点分享给大家.WIX最新版本3.8,点击下载 WIX安装部署(一)同MSBuild自 ...

  2. Wix 安装部署教程(九) --用WPF做安装界面

    经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎 ...

  3. Wix 安装部署教程(十五) --CustomAction的七种用法

    在WIX中,CustomAction用来在安装过程中执行自定义行为.比如注册.修改文件.触发其他可执行文件等.这一节主要是介绍一下CustomAction的7种用法. 在此之前要了解InstallEx ...

  4. Wix 安装部署教程 -CustomAction的七种用法

    在WIX中,CustomAction用来在安装过程中执行自定义行为.比如注册.修改文件.触发其他可执行文件等.这一节主要是介绍一下CustomAction的7种用法. 在此之前要了解InstallEx ...

  5. Wix 安装部署教程(十六) -- 自动生成多语言文件

    因为持续集成需要,所有项目编译完之后生成一个多语言的安装包.之前生成mst文件都是手动操作,而且mst文件必须每次重新和新的安装包“关联”,否则中文的安装包去调用英文的资源的时候就会报类似于“类型转换 ...

  6. Wix 安装部署教程(十三) -- 多语言安装包

    这几天摸索WIX的多语言安装包(这里是Wix的setup 工程,不是Bundle),终于走通了,感谢网友uni的指点.WIX的多语言安装包能够根据系统环境自动切换界面语言,你也可以通过命令指定语言.下 ...

  7. Wix 安装部署教程(四) 添加安装文件及快捷方式

    通过之前三篇的介绍,大家对wix的xml部署方式也应该有一些认识,今天天气不错,再来一发.主要介绍桌面,开始菜单,卸载等功能的如何添加.希望园友们支持! 一.如何添加文件 Demo打包程序很简单,就一 ...

  8. Wix 安装部署教程(十二) -- 自动更新WXS文件

    上一篇分享了一个QuickWIX,用来对比两个工程前后的差异,但是这样还是很繁琐,而且昨天发现有Bug,目录对比有问题.这次改变做法,完全让程序自动去更新WXS文件,然后再用CCNet去自动编译,这样 ...

  9. Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面

    在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果.另外ViewModel ...

随机推荐

  1. .net/C# HttpWebRequest传送与接收参数

    public string PostData(string url, string data)//url:要发送到网站的地址 data:传送需要的参数 { HttpWebRequest myReque ...

  2. Linux下修改mysql密码

    # /etc/init.d/mysql stop# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &# mysq ...

  3. JS-随机函数

    // alert( Math.round(3.4) );// 0~1 : Math.round(Math.random());// 0~10// alert( Math.round(Math.rand ...

  4. angular JS 做分页

    在网上找了一天,连一个像样点的分页DEMO都没找到,晕死了.大部分都是相互抄,有各种各样的问题,要不是代码有BUG,要不就是解释不明,GITHUB上下载下来的总是乱糟糟的.心累.

  5. Win7下安装一个装逼文本编辑器Atom + activate-power-mode插件

    Atom是Github推出的一个文本编辑器,搜索一下大概是给Web前端用的,最近比较火的是他的一个插件activate-power-mode,可以实现打字屏振效果. 用来装装逼还是挺适合的,本来想试试 ...

  6. MY SQL 知识

    LINUX配置优化 诊断命令 more perfomance tool SRE performance 硬件优化 raid 10 ssd Fusion-io 大内存 电池后备SCSI磁盘缓存 系统优化 ...

  7. ODBC,OLEDB,ADO,ADO.net,JDBC 理解

    一 .ODBC 开放式数据库互联(Open Database connectivity), 93年微软推出的实现应用程序 和关系数据库直接 通讯的借口标准.只能用于关系数据库 . 注意事项 : 必须先 ...

  8. Python 学习---------Day6

    18章 模块:宏伟蓝图 import 使客户端(导入者)以一个整体获取一个模块 from 允许客户端从一个模块文件中获取特定的变量名 reload 在不中止Python程序的情况下,提供了一种重新载入 ...

  9. 利用yum下载软件包的三种方法

    转自:http://297020555.blog.51cto.com/1396304/530703 方法一: downloadonly插件 有一个yum的插件叫做downloadonly,顾名思义,就 ...

  10. LINUX 虚拟机克隆与网络配置

    虚拟机克隆后,启动之后发现网卡没有启动.发现提示错误信息“Device eth0 does not seem to be present, delaying initialization.” 解决方法 ...