作者Fadis (...)
看板C_Sharp
标题[问题] 以C#应用程式注册组件和建立型别程式库
时间Fri Jun 13 11:30:34 2008
各位前辈好,
小弟在以AP注册组件和建立型别程式库时遇到些问题,
求教版上各位前辈,还请各位不另指教
在XP的命令提示字元下,执行以下两行是OK的
regasm xxxDll所在路径 /tlb:xxxDll.tlb
gacutil /i xxxDll所在路径
写成应用程式在XP执行也是能正常运作注册
System.Diagnostics.Process.Start(
@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe",
"xxxDll.dll所在路径 /tlb:xxxDll.tlb");
System.Diagnostics.Process.Start("gacutil.exe", "/i xxxDll.dll所在路径");
但在Vista的环境中,直接执行注册的指令会因权限问题被阻挡,
所以加上runas的指令指定执行权限,不知道是否语法有错?并没有注册成功
runas /user:Administrator帐号 "regasm xxxDll所在路径 /tlb:xxxDll.tlb"
runas /user:Administrator帐号 "gacutil /i xxxDll所在路径"
刚刚试了一下,在命令提示字元按右键,以系统管理员身份执行,
再执行和在XP底下一样的cmd是可以正确work的
regasm xxxDll所在路径 /tlb:xxxDll.tlb
gacutil /i xxxDll所在路径
想请教各位若要使用Process.Start来撰写,
该如何下指令呢?
※ 编辑: Fadis 来自: 60.250.192.34 (06/13 14:23)
※ 编辑: Fadis 来自: 60.250.192.34 (06/13 15:05)
1F:推 deuter:UAC elevation应该没办法用 Process.Start 做 06/14 11:59
2F:→ deuter:你必须要做成UAC app才可以 06/14 11:59