相关疑难解决方法(0)

如何强制我的.NET应用程序以管理员身份运行?

一旦我的程序安装在客户端计算机上,如何强制我的程序在Windows 7上以管理员身份运行?

.net c# administrator windows-7 elevated-privileges

838
推荐指数
12
解决办法
44万
查看次数

以编程方式提升进程权限?

我正在尝试使用InstallUtil.exe安装服务但通过调用Process.Start.这是代码:

ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
Run Code Online (Sandbox Code Playgroud)

其中m_strInstallUtil是完全限定的路径和exe"InstallUtil.exe",并且strExePath是我的服务的完全限定路径/名称.

从提升的命令提示符运行命令行语法有效; 从我的应用程序运行(使用上面的代码)没有.我假设我正在处理一些进程提升问题,那么我如何在高架状态下运行我的进程?我需要看一下ShellExecute吗?

这一切都在Windows Vista上.我正在VS2008调试器中运行升级到管理员权限的进程.

我也试过设置,startInfo.Verb = "runas";但似乎没有解决问题.

.net c# windows windows-services process-elevation

140
推荐指数
5
解决办法
19万
查看次数

WPF应用程序清单文件

我有一个WPF应用程序,我希望它能够始终作为管理员启动.我已经阅读了很多关于它的内容,似乎我必须创建自己的清单文件并将其传递给应用程序属性,以便在运行时int以管理员身份启动.

应用程序本身加载文件,有时文件可能需要管理员访问权限,因此可以修改.这就是为什么我在安装应用程序之后寻找一种方法,以便能够始终以管理员模式启动.

c# wpf manifest

20
推荐指数
1
解决办法
2万
查看次数

如何以编程方式安装Font(C#)

有没有办法以编程方式将字体永久添加到Windows 7/8 PC?我已经阅读了几篇关于AddFontResource DLL-Import的帖子,但似乎没有用.

除此之外,MSDN文档说明在重新启动计算机后将删除字体,除非将字体添加到注册表中.

如何永久安装字体?如何将字体添加到注册表?是否总是相同的名称/条目?

我必须在运行时动态添加字体,因为我会在用户选择字体后立即获取字体.

备注:我知道如何添加注册表项.我的问题更多的是关于Windows XP,Vista,7和8与不同字体类型之间的兼容性.也许有办法启动另一个为我安装字体的exe.

.net c# fonts winforms

17
推荐指数
2
解决办法
2万
查看次数

.NET Start Process具有更高的权限

我试图通过C#应用程序执行具有管理员权限的程序,该应用程序仅使用用户权限进行调用.

        ProcessStartInfo psi;
        try
        {
            psi = new ProcessStartInfo(@"WINZIP32.EXE");

            psi.UseShellExecute = false;
            SecureString pw = new SecureString();
            pw.AppendChar('p');
            pw.AppendChar('a');
            pw.AppendChar('s');
            pw.AppendChar('s');   
            pw.AppendChar('w');
            pw.AppendChar('o');
            pw.AppendChar('r');
            pw.AppendChar('d');
            psi.Password = pw;
            psi.UserName = "administrator";

            Process.Start(psi);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
Run Code Online (Sandbox Code Playgroud)

它确实启动winzip,但仅限用户权限.有什么我做错了,或者甚至有可能开始一个更高权利的过程?

谢谢!

编辑:这是问题背后的原因,也许它有助于理解我真正需要的东西.

我以winzip为例,大致了解了我的代码是不正确的.实际问题是,我们公司使用2个版本的程序.但在启动任何版本之前,您需要使用regsvr32(具有管理员权限)导入dll文件.现在我想编写一个程序,让用户选择版本,导入dll并启动正确的应用程序.

.net c# process admin-rights

8
推荐指数
1
解决办法
2万
查看次数

更改代码的可执行兼容性

我有一个文件MyUtilities.exe.

当我跑: Process.Start("MyUtilities.exe","SomeParameter");

如果在没有管理员权限的情况下运行,则该进程的退出代码为0(OK).如果我以管理员身份运行该代码,退出代码为1!

由于我没有创建MyUtilities.exe我无法修改它.

最后我需要以Process.Start("MyUtilities.exe","SomeParameter");管理员身份运行并让它返回退出代码= 0.我设法做到这一点的方法是将其兼容性更改为:

在此输入图像描述

(右键单击文件 - >属性 - >兼容性 - >以管理员身份运行此程序)

在更改之后,我现在能够以Process.Start("MyUtilities.exe","SomeParameter");管理员身份运行并返回退出代码0.

所以我的问题是如何更改该文件与代码的兼容性,这样我就不必告诉用户右键单击该文件然后更改设置.

c# privileges compatibility process

0
推荐指数
1
解决办法
1826
查看次数