Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一键式部署安装需要安装.NET Framework 4.7.2_C#_Publishing_Setup.exe - Fatal编程技术网

C# 一键式部署安装需要安装.NET Framework 4.7.2

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

我正在尝试创建一个不需要管理员权限即可使用的应用程序

发布应用程序时,显示了3个组件:

  • 名为“应用程序文件”的文件夹
  • 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
    没有检查框架,只是直接要求安装它。