为啥我安装软件老是要管理员权限进行安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我安装软件老是要管理员权限进行安装相关的知识,希望对你有一定的参考价值。
这是因为你所登录的用户管理权限不够。是你自己的还是公司的电脑?如果是自己的电脑,提升一下权限,在控制面板-->用户帐户-->权限改为管理员。如果是公司电脑,有可能做了很多限制,不能更改软件之类是很正常的,这就只有找相关人员给你弄。 参考技术A 设置一下就可以不弹出了:控制面板--用户账户和家庭安全--用户账户--更改用户账户控制设置--从不通知--确定 参考技术B 你是系统管理员
但是不是administrator
楼主可以从控制面板
-用户-登陆界面
选择
不使用欢迎屏幕
然后在帐号里面输入
administrator
密码为空
登陆再安装即可
如果双用途软件包默认为每台机器,则按用户安装始终需要管理员权限
【中文标题】如果双用途软件包默认为每台机器,则按用户安装始终需要管理员权限【英文标题】:Per user install always requires Administrator rights if dual purpose package is per machine by default 【发布时间】:2015-11-24 14:20:00 【问题描述】:我正在尝试使用 WiX 创建一个双重用途的 MSI 文件。我已按照WixUI_Advanced 的说明以及Single Package Authoring 的说明进行操作。当我默认默认按用户安装 (MSIINSTALLPERUSER
= 1) 并允许用户选择按机器安装时,这似乎工作正常。但是,将其默认设置为每台机器安装(MSIINSTALLPERUSER
为空)总是会导致 UAC 提示,即使用户选择了每用户安装也是如此。每用户安装只是将单个文件写入非管理员目录,绝对不需要提升权限。
我还尝试关注this guide,每个人似乎都在使用它来使用 WiX 进行单包创作,但结果完全相同。如果每台机器是默认设置并选择了每用户,则会出现 UAC 提示,但如果默认设置为每用户并选择每用户,则不会出现 UAC 提示。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="DE75C3B3-6398-4F25-9048-FB7EEE5F6EBF" Name="MyApp" Language="1033" Version="1.0.0" Manufacturer="Company" UpgradeCode="ED573078-CC3E-4299-9E04-043B1EDC08DB">
<Package InstallerVersion="500" Compressed="yes" />
<!--Single Package Authoring-->
<Property Id="MSIINSTALLPERUSER" Secure="yes" Value=""/>
<Property Id="ALLUSERS" Secure="yes" Value="2"/>
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" CabinetTemplate="arc0" CompressionLevel="high"/>
<Feature Id="ProductFeature" Title="MyApp" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
<UI>
<UIRef Id="WixUI_Advanced" />
</UI>
<Property Id="ApplicationFolderName" Value="MyApp" />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder" Name="PFiles">
<Directory Id="APPLICATIONFOLDER" Name="MyApp">
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="APPLICATIONFOLDER">
<Component Id="MyApp.exe" Guid="903EDAFD-F513-407D-85A0-D737013B9B57">
<File Id="MyApp.exe" Source="MyApp.exe" KeyPath="yes" Checksum="yes"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
查看安装日志,我看到以下条目:
Product not registered: beginning first-time install
PROPERTY CHANGE: Modifying ALLUSERS property. Its current value is '2'. Its new value: '1'.
PROPERTY CHANGE: Deleting MSIINSTALLPERUSER property. Its current value is ''.
...
Action: InstallScopeDlg. Dialog created
PROPERTY CHANGE: Modifying WixAppFolder property. Its current value is 'WixPerMachineFolder'. Its new value: 'WixPerUserFolder'.
PROPERTY CHANGE: Deleting ALLUSERS property. Its current value is '1'.
...
Product not registered: beginning first-time install
PROPERTY CHANGE: Deleting ALLUSERS property. Its current value is '2'.
PROPERTY CHANGE: Deleting MSIINSTALLPERUSER property. Its current value is ''.
【问题讨论】:
【参考方案1】:根据安装日志,我尝试从 this guide 重新引入修改后的 WixUI 文件中替换的行,这会更新 ALLUSERS
属性,因为似乎这被设置为每个用户安装的值 1将解释 UAC 提示。俄罗斯博客和原始 WixUI_Advanced 中的以下几行似乎确实有效。
<Publish Dialog="InstallScopeDlg" Control="Next" Property="ALLUSERS" Value="" Order="2">
WixAppFolder = "WixPerUserFolder"
</Publish>
<Publish Dialog="InstallScopeDlg" Control="Next" Property="ALLUSERS" Value="1" Order="3">
WixAppFolder = "WixPerMachineFolder"
</Publish>
<Publish Dialog="InstallScopeDlg" Control="Next" Property="MSIINSTALLPERUSER" Value="1" Order="3">
WixAppFolder = "WixPerUserFolder"
</Publish>
<Publish Dialog="InstallScopeDlg" Control="Next" Property="MSIINSTALLPERUSER" Value="" Order="2">
WixAppFolder = "WixPerMachineFolder"
</Publish>
似乎 both ALLUSERS
和 MSIINSTALLPERUSER
需要根据用户的选择进行设置,以在默认情况下每台机器安装时允许在没有管理员权限的情况下进行安装。但是,我无法在网上找到其他任何地方来确认我的发现。
【讨论】:
通过更改上述代码安装程序是否适用于单作者打包?以上是关于为啥我安装软件老是要管理员权限进行安装的主要内容,如果未能解决你的问题,请参考以下文章