Dav*_*ave 4 wpf installer windows-installer wix windows-7
关于SO的现有问题可能正是我所需要的,但没有得到回答.;)
我在我的WiX安装程序的初始测试中没有意识到这一点,但我的应用程序在安装后在Windows 7上无法正常工作.各种程序集需要在我的安装文件夹中读/写文件,但在运行时拒绝访问.
如果我然后以管理员身份运行应用程序,它将完美运行.我也可以手动更改应用程序的属性,以便它始终以管理员身份运行.但是,我不希望用户每次都必须单击是以UAC提示.
我没有得到的部分是,如果我从源代码文件夹运行我的可执行文件,我不必以管理员身份运行它,它完美地工作.
任何人都可以解释原因:1.我的可执行文件,从我的bin/Debug文件夹运行时,不需要以管理员身份运行并且有效吗?2.如何让WiX安装可执行文件,以便它的工作方式完全相同?(即不需要右键单击+以管理员身份运行)
谢谢!
程序通常不应该使用Program Files文件夹中的内容,但如果确实需要这样做,则需要确保程序安装文件夹的权限是安装过程的一部分.
既然我已经指责你试图这样做了,我会举一个WiX安装程序的例子来说明我维护的程序可以做同样的顽皮日志文件:
<Directory Id="DirectoryLogs" Name="Logs">
<Component Id="ComponentCreateFolderLogs" Guid="SOME-GUID">
<CreateFolder>
<Permission
GenericAll="yes"
User="Authenticated Users" />
</CreateFolder>
<RemoveFile
Id="RemoveFileLogsAll"
Name="*.*"
On="uninstall" />
</Component>
</Directory>
Run Code Online (Sandbox Code Playgroud)
因此,安装程序将创建该Logs文件夹,授予所有Authenticated UsersNTFS权限以对该目录造成严重破坏,并将在原始安装之后创建的所有日志文件作为卸载过程的一部分进行清除以保留干净卸载.
这是伟大的设计吗?不 - Windows徽标要求对此感到不满 - 但它在内部环境中发生了很多,所以这就是你如何做到的.
祝好运!
| 归档时间: |
|
| 查看次数: |
1975 次 |
| 最近记录: |