类似于: 如果路径受到保护,请求Windows Vista UAC提升?
我在c:\ Program Files(Windows Vista)中安装了.NET客户端应用程序.此应用程序应自行更新,但不会因为权限问题而更新.自动更新程序应该只是替换几个程序集,但它们都位于c:\ Program File下,应用程序抛出以下异常:
System.UnauthorizedAccessException:拒绝访问路径"C:\ Program Files ...".
我无法控制应用程序的安装位置和权限.这有什么解决方法吗?是否可以在几秒钟内请求管理员权限?是否可以弹出UAC窗口?我很确定有一个解决方法......否则,Firefox将如何更新自己?
在此先感谢您的帮助和想法!
我有这个需要运行的批处理,用户必须执行该批处理将复制一个简单的xml文件.但是,在Windows 2000/XP上一切正常.但是,在Windows Vista上,我收到错误"Access Denied".
即使我尝试在Vista上使用Windows资源管理器复制文件,我也会遇到同样的错误.
我有什么办法可以复制这个文件.我是否必须在我的bat文件中添加任何额外的代码才能复制此文件?
非常感谢.
@ECHO OFF
REM copy config file to the windows/system32
copy config.xml c:\windows\system32\DataLinks.xml
Run Code Online (Sandbox Code Playgroud) 我有一个系统,我使用 UAC 将其设置为普通系统,并在我的 delphi 环境中编译名为 ka.exe 的项目,并为其创建一个 installshield 项目。
设置,一切都完成了!但是每当我开始我的程序时,它都需要提升,我不知道为什么。
只是为了确保 installshield 没有在我身上玩心理游戏,我编译了一个新的 .exe,然后手动将它复制到我的联网计算机上。
图标看起来一样,上面也有这个 UAC 盾牌。
我的项目内部有一些函数可能会与网络共享名称交谈,并与 SQL 数据库交谈......
那么为什么我的应用程序需要提升才能运行?
我有一个用Delphi 5编写的非常旧的应用程序,在一些使用BDE的客户中运行.现在,一些使用Windows Vista和7的用户已经尝试了多用户访问的一些问题.我认为这些问题与net
.and .lck
文件的位置有关.所以问题是BDE
在Windows Vista和7下配置以避免权限和UAC冲突的正确方法是什么?
有什么方法可以将 Go 中的新进程或线程提升为管理员吗?
它似乎ShellExecute()
在 Go 中不可用,并且不可能使用CreateProcess()
. 我不知道还有什么可能。
我希望我的程序能够编辑驻留在"HKEY_LOCAL_MACHINE"中的注册表项中的值
My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\XYZ", "MyValue", "MyData")
Run Code Online (Sandbox Code Playgroud)
以上在Windows XP中工作正常,但在Vista中引发了UnauthorizedAccessException.
如何在UAC打开时使用C++创建文件,但不以管理员身份运行?
我正在尝试在以下路径中创建一个文本文件:当Vista的UAC打开时,VC++ 6.0中的"C:\ Programdata\Desktop".但是,Createfile(...)
"拒绝许可"失败了.
当我以"以管理员身份运行"运行示例应用程序时,它可以工作.但我的示例应用程序不应该"以管理员身份运行".
当UAC打开时,是否有任何API可以授予上述路径?
示例代码:const nSize = 100; CStdioFile文件; CFileException obFileExp; CString csFilePath(_T("C:\ ProgramData\Desktop\sample.txt"));
if (!file.Open( csFilePath , CFile::modeCreate | CFile::modeWrite ,&obFileExp ) )
{
// opening of file failed
TCHAR szErr[nSize];
obFileExp.GetErrorMessage(szErr,nSize);
AfxMessageBox(szErr);
return ;
}
file.WriteString( "welcome" );
file.Close( );
Run Code Online (Sandbox Code Playgroud)
注意:UAC应该打开,VC++ 6.0不应该以管理员身份运行
我已经搜索了很多,以找到解决我的问题的方法,但我找不到任何具体的解决方案.
我需要更改存储在下面的值HKEY_LOCAL_MACHINE\SOFTWARE\APP_NAME
.不可能使用.NET的注册表功能,因为它们有严格的限制.
以下代码片段可以解决我的问题:
Dim regKey As RegistryKey
Dim ver As Decimal
regKey = My.Computer.Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\APP_NAME", True)
Run Code Online (Sandbox Code Playgroud)
regKey.SetValue("IP","192.168.10.15:15800")regKey.Close()
不幸的是,当我尝试设置值时,我得到一个NullReferenceExeption.
我该怎么办?我导入了Microsoft.Win32,RegistryKey不接受任何构造函数.
我有一个程序解压缩到TEMP目录,运行自己,然后从TEMP目录中删除自己.当我使用NSIS生成的单文件可执行文件尝试运行时,UAC会询问:"您是否希望允许来自未知发布者的以下程序修改您的计算机?"
澄清一下:安装程序仅解压缩到TEMP目录,并且包含的程序不会触发UAC.我认为它与NSIS的作用有关,但我无法弄清楚是什么或如何阻止它.我已经删除了我的NSIS脚本的几乎所有行,它仍然激怒了UAC.
如果重要的话,我在Windows 7上的python2.5上使用py2x和pymunk和pygame库.(但同样,它只会在通过NSIS时触发UAC.)
如何让它不会触发UAC的任何内容?我需要签名密钥吗?
我在Delphi 7 + Windows XP Pro Sp3平台上构建了一个应用程序,该应用程序运行正常,比我发送此应用程序给我的朋友有一个Windows 7操作系统,我的应用程序无法将初始化数据写入注册表时出错"失败设置数据...",我建议我的朋友正确clik并选择"以管理员身份运行......".如何在Delphi 7上构建可以在Windows 7上运行和编写注册表的应用程序?
请帮忙,因为我现在无法在谷歌上找到合适的解决方案......
提前致谢...
关心Chrisna Obaja