是否有任何方法可以使.NET Framework在不需要管理员权限的情况下安装,或者将所需的.NET组件与我的应用程序捆绑在一起?我目前正在开发.NET Framework 4,但如果需要,我可以轻松更改我的代码以使其与.NET 2或3.5兼容。
现在是2018年,如果您想进行死灵术。
是的,您可以这样做。
.NET-Core允许您进行所谓的自包含部署。
Windows-x86-32:
dotnet restore -r win-x86
dotnet build -r win-x86
dotnet publish -f netcoreapp2.0 -c Release -r win-x86
Windows-x86-64:
dotnet restore -r win-x64
dotnet build -r win-x64
dotnet publish -f netcoreapp2.0 -c Release -r win-x64
没有办法在机器上运行.NET应用程序而不先安装.NET,是的,安装需要管理员权限。允许普通用户进行此类操作将破坏首次设置访问限制的整个意义。
完全有可能(虽然不一定实际可行)在没有管理员权限的情况下安装包括 .net 框架的应用程序。你想要做的一般类别被称为应用程序虚拟化。我们使用 VMWare ThinApp,这是一种类似于此线程早期帖子中提到的 Spoon 的应用程序虚拟化技术。该类别中的其他应用程序包括 Cameyo (www.cameyo.com) 和 InstallAware (www.installaware.com/virtualization/)。
你也可以通过网络搜索“应用程序虚拟化”来查找其他结果。你需要忽略 Microsoft App-V 和 Citrix XenApp,因为这些解决方案针对企业,旨在将应用程序虚拟化以供部署在公司网络内部使用。
我们也不能在工作站上安装软件,但是我们可以使用SDK二进制文件(不包括安装程序,因为它们需要管理员权限)并在我们的工作站上使用dotNet Core进行开发,而这一切都不需要管理员权限。
只需从dotNet Core下载页面下载二进制文件并选择“二进制安装程序”即可。然后在任意位置解压SDK。
接下来,将路径添加为新的用户路径变量。从开始菜单中键入“环境”,然后选择编辑您帐户的环境变量。然后添加一个名为MSBuildSDKSsPath
的新变量,并设置值为您提取二进制文件的位置。
对我来说,我将二进制文件提取到了C:\ dev \ dotnetCore,所以我将其值设置为C:\ dev \ dotnetCore
。稍后快速重新启动Visual Studio,现在我的可用目标框架中出现了.Net Core 2.1及以上版本。
这是一个老问题,但似乎微软正在计划一项.NET Native功能,该功能将允许您编译自包含的C#应用程序,而不依赖于安装.NET Framework,因此理论上可以结束尝试将针对较新版本框架的.NET应用程序分发给没有管理员权限的用户所涉及的巨大头痛。