Windows 使用Powershell向Regasm注册.NET DLL失败

Windows 使用Powershell向Regasm注册.NET DLL失败,windows,powershell,batch-file,dll,Windows,Powershell,Batch File,Dll,使用visual studio 2012,我在C#中创建了一个DLL文件,可以通过引用它在Access 2013中使用。这一切都很好。我创建了DLL并用CMD doing注册了它:RegAsm.exe-tlb-codebase C:\MyFolderX\MyDLL.DLL 这一切都很好,但因为DLL需要在多台计算机上注册,所以我希望只需单击一次,而不是在每台用户计算机上手动注册 因为用户已经使用批处理文件来启动Access前端应用程序(使用DLL),所以我认为在使用批处理启动时最好只注册一次。为

使用visual studio 2012,我在C#中创建了一个DLL文件,可以通过引用它在Access 2013中使用。这一切都很好。我创建了DLL并用CMD doing注册了它:
RegAsm.exe-tlb-codebase C:\MyFolderX\MyDLL.DLL

这一切都很好,但因为DLL需要在多台计算机上注册,所以我希望只需单击一次,而不是在每台用户计算机上手动注册

因为用户已经使用批处理文件来启动Access前端应用程序(使用DLL),所以我认为在使用批处理启动时最好只注册一次。为此,我在批处理脚本中添加了以下内容:

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
RegAsm.exe -tlb -codebase C:\MyFolderX\MyDLL.dll
遗憾的是,这不起作用,因为它必须在管理模式下完成,并且选中复选框run as administrator(以管理员身份运行)只是跳过我的批处理代码,而没有出于某种原因执行任何操作

所以我想,为什么不使用Powershell脚本来执行同样的操作,并从我的批处理脚本启动它呢

为此,我创建了以下脚本:

#Register the assembly
$RegAsm = 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe -codebase -tlb'
$Assembly = 'C:\MyFolderX\MyDLL.dll'

Start-Process $RegAsm $Assembly

pause
但是,这会不断产生错误:

Start-Process : This command cannot be run due to the error: The system cannot find the file specified. At C:\users\me\Desktop\RegisterMyDLL.pst1

+Start-Process $RegAsm $Assembly

InvalidOperation: (:) Start-Process
FullyQualifiedErrorId : InvalidOperationException, Microsoft.Powershell.Commands.StartProcessCommand
我仔细检查了DLL的位置,它就在那里。。有人知道我做错了什么吗?可能是语法错误或引用太多?我已经试着避开我的反斜杠,但这没有任何效果

或者也许有更好的方法实现在多个用户上轻松注册DLL

这有用吗

 ."C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" -codebase -tlb $Assembly

是的,是的!非常感谢。尽管如此,还是给了我管理员警告,但至少我现在有点老了!