C# 一键式部署安装需要安装.NET Framework 4.7.2
我正在尝试创建一个不需要管理员权限即可使用的应用程序 发布应用程序时,显示了3个组件:C# 一键式部署安装需要安装.NET Framework 4.7.2,c#,publishing,setup.exe,C#,Publishing,Setup.exe,我正在尝试创建一个不需要管理员权限即可使用的应用程序 发布应用程序时,显示了3个组件: 名为“应用程序文件”的文件夹 setup.exe MyApplicationName.application 运行MyApplicationName.application按预期执行我的应用程序,在桌面上添加一个图标,并在推出更新时通知用户: 默认情况下,我的用户尝试单击setup.exe,这要求他们获得安装应用程序的管理员权限 我可以看到两种解决方案,任何一种我都会接受 如何从发布时创建的setup.exe
setup.exe
MyApplicationName.application
MyApplicationName.application
按预期执行我的应用程序,在桌面上添加一个图标,并在推出更新时通知用户:
默认情况下,我的用户尝试单击setup.exe
,这要求他们获得安装应用程序的管理员权限
我可以看到两种解决方案,任何一种我都会接受
setup.exe
文件中删除该文件李>
setup.exe
文件不需要安装.NET framework或任何其他需要管理员权限/特权的内容李>
为了摆脱
Setup.exe
,我必须在Visual Studio中卸载我的项目并编辑.csproj
文件
下面列出了我所做的更改
将BootstrapperEnabled设置为false
false
删除了下面的章节
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
假的
Microsoft.NET Framework 4.7.2%28x86和x64%29
真的
为了摆脱Setup.exe
我不得不在Visual Studio中卸载我的项目并编辑.csproj
文件
下面列出了我所做的更改
将BootstrapperEnabled设置为false
false
删除了下面的章节
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
假的
Microsoft.NET Framework 4.7.2%28x86和x64%29
真的
您是否尝试在部署后删除“setup.exe”文件?我认为这不是必需的。我将把我的解决方案部署到许多不同的位置。我可以编写一个powershell脚本,以转到每个位置并删除它,但必须有一种比被动更有效的方法。如果你的应用程序运行在.Net 4.7.2上,你的客户端需要安装它-没有办法。您可以迁移到.Net Core,在那里您可以进行自包含的部署,而无需拉动框架。@trailmax如果他们使用另一个文件,您认为他们可以在不安装任何东西的情况下运行框架,这是什么。我是否可以删除包含的依赖项,以允许setup.exe文件在没有管理员权限的情况下运行?还感谢您让我了解自包含部署。我会在时间允许的情况下进行调查。如果他们可以在不安装框架的情况下执行myApp.exe
,那么他们已经安装了框架。这意味着您的setup.exe
没有检查框架,只是直接要求安装。您是否尝试在部署后删除“setup.exe”文件?我认为这不是必需的。我将把我的解决方案部署到许多不同的位置。我可以编写一个powershell脚本,以转到每个位置并删除它,但必须有一种比被动更有效的方法。如果你的应用程序运行在.Net 4.7.2上,你的客户端需要安装它-没有办法。您可以迁移到.Net Core,在那里您可以进行自包含的部署,而无需拉动框架。@trailmax如果他们使用另一个文件,您认为他们可以在不安装任何东西的情况下运行框架,这是什么。我是否可以删除包含的依赖项,以允许setup.exe文件在没有管理员权限的情况下运行?还感谢您让我了解自包含部署。我会在时间允许的情况下进行调查。如果他们可以在不安装框架的情况下执行myApp.exe
,那么他们已经安装了框架。这意味着您的setup.exe
没有检查框架,只是直接要求安装它。