Administrator 使用管理提升WIX运行WPF应用程序

Administrator 使用管理提升WIX运行WPF应用程序,administrator,elevation,Administrator,Elevation,我已经写了一个WPF应用程序。 当它安装在客户端计算机上时,系统会提示用户输入用户名和密码,以便他们具有使用该应用程序的管理员权限 我需要管理员权限,因为我的应用程序打开端口并将文件写入文件系统 是否可以允许任何用户在不提示输入管理员用户名和密码的情况下运行应用程序,并将应用程序提升为使用管理员权限运行 谢谢安装应用程序后,如果安装程序已标记为管理员执行,则会提示您输入管理员权限。通常,仅当您希望安装到多个用户可用的位置(如Program Files文件夹层次结构中)时,才需要此选项。MSI在默

我已经写了一个WPF应用程序。 当它安装在客户端计算机上时,系统会提示用户输入用户名和密码,以便他们具有使用该应用程序的管理员权限

我需要管理员权限,因为我的应用程序打开端口并将文件写入文件系统

是否可以允许任何用户在不提示输入管理员用户名和密码的情况下运行应用程序,并将应用程序提升为使用管理员权限运行


谢谢

安装应用程序后,如果安装程序已标记为管理员执行,则会提示您输入管理员权限。通常,仅当您希望安装到多个用户可用的位置(如Program Files文件夹层次结构中)时,才需要此选项。MSI在默认情况下会引发UAC提示,但很容易进行

当你的应用程序运行时(由没有管理员权限的用户运行),如果应用程序本身已被标记为管理员执行,它将请求管理员权限。这部分由您控制,但可以由客户端计算机上的用户覆盖

写入文件系统文件夹的应用不需要管理员权限,只要运行该应用的用户有权访问这些文件夹。通常,您可以通过向每个用户都可以访问的位置写入来实现这一点

但是,我认为,如果应用程序不仅仅是查询统计信息,那么打开端口确实需要管理员权限

如果你的应用程序确实需要管理员权限才能运行,并且你不希望非管理员用户在程序执行期间看到UAC提示,那么我建议你将你的应用程序分为两部分

第一部分是在特权用户(如LocalSystem)下运行的Windows服务,配置为与桌面程序交互。此服务执行所有与管理员相关的任务,并且需要由请求管理员权限的安装程序进行设置


第二部分是WPF程序,它不执行任何特权操作。如果将此WPF程序标记为不需要提升,则最终用户在运行它时将永远不会看到UAC提示,因为所有特权工作都是由始终运行的服务完成的

安装应用程序时,如果安装程序已标记为管理员执行,则会提示您输入管理员权限。通常,仅当您希望安装到多个用户可用的位置(如Program Files文件夹层次结构中)时,才需要此选项。MSI在默认情况下会引发UAC提示,但很容易进行

当你的应用程序运行时(由没有管理员权限的用户运行),如果应用程序本身已被标记为管理员执行,它将请求管理员权限。这部分由您控制,但可以由客户端计算机上的用户覆盖

写入文件系统文件夹的应用不需要管理员权限,只要运行该应用的用户有权访问这些文件夹。通常,您可以通过向每个用户都可以访问的位置写入来实现这一点

但是,我认为,如果应用程序不仅仅是查询统计信息,那么打开端口确实需要管理员权限

如果你的应用程序确实需要管理员权限才能运行,并且你不希望非管理员用户在程序执行期间看到UAC提示,那么我建议你将你的应用程序分为两部分

第一部分是在特权用户(如LocalSystem)下运行的Windows服务,配置为与桌面程序交互。此服务执行所有与管理员相关的任务,并且需要由请求管理员权限的安装程序进行设置


第二部分是WPF程序,它不执行任何特权操作。如果将此WPF程序标记为不需要提升,则最终用户在运行它时将永远不会看到UAC提示,因为所有特权工作都是由始终运行的服务完成的

如何使安装程序不标记为管理员执行…我有一个app.manifest,在其中我设置不确定是否标记为管理员执行anything@Allen,我已经更新了我的答案,添加了一个链接来回答您的评论。我如何使安装程序未标记为管理员执行…我有一个app.manifest,我不确定是否设置了anything@Allen,我已经更新了我的答案,添加了一个链接来回答您的评论。