Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
VS2005.NET2.0和C#及x86目标平台_C#_Visual Studio 2005_X86_Uac - Fatal编程技术网

VS2005.NET2.0和C#及x86目标平台

VS2005.NET2.0和C#及x86目标平台,c#,visual-studio-2005,x86,uac,C#,Visual Studio 2005,X86,Uac,我在WindowsVista上使用VS2005。 我使用带有关闭按钮的.NET2.0在C#中创建了一个非常简单的Windows应用程序 由于需要一个库,我需要VS选项目标平台“x86”。如果我在Vista上构建并将应用程序传输到X64 Windows 7计算机,则该应用程序需要管理员权限才能执行(UAC消息对话框),我希望避免这种情况 如果使用VS选项目标平台“anyCPU”,这可以正常工作,但我需要一个针对目标平台“x86”的解决方案 有人能帮我吗 我想做的是更改代码或项目配置,以避免Wind

我在WindowsVista上使用VS2005。 我使用带有关闭按钮的.NET2.0在C#中创建了一个非常简单的Windows应用程序

由于需要一个库,我需要VS选项目标平台“x86”。如果我在Vista上构建并将应用程序传输到X64 Windows 7计算机,则该应用程序需要管理员权限才能执行(UAC消息对话框),我希望避免这种情况

如果使用VS选项目标平台“anyCPU”,这可以正常工作,但我需要一个针对目标平台“x86”的解决方案

有人能帮我吗


我想做的是更改代码或项目配置,以避免Windows7(x64)上出现UAC消息Dlg。但我不知道我该怎么办。我需要“x86”选项,因为我们要使用x86库。测试代码非常简单(见下文),因此我认为问题出在项目配置中:

// Project code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Updater2
{
  public partial class Form1 : Form
  {
    public Form1( )
    {
      InitializeComponent( );
    }

    private void toolStripButton1_Click( object sender, EventArgs e )
    {
      Close( );
    } // -- toolStripButtonClose_Click
  } // - Form1
}

您可能正试图将文件写入C:/或C:/程序文件文件夹。尝试将任何文件写入
%Current User%
文件夹以避免UAC。除此之外,在看不到您的任何代码的情况下,我无法提供更多的解决方案。

您可能正在尝试将文件写入C:/or C:/Program files文件夹。尝试将任何文件写入
%Current User%
文件夹以避免UAC。除此之外,在看不到您的任何代码的情况下,我无法提供更多的解决方案。

问题在于程序名称中的“更新”一词

当一个可执行文件的名称中有“更新”、“安装”或“安装”等字样时,Windows会假定它可能是一个安装程序,很可能需要管理权限。因此,这些程序必须在启用UAC的系统上以提升提示运行

它也不仅仅是可执行文件名。如果重命名文件不能解决问题,应用程序的版本信息中也可能包含这些关键字。具备以下条件将导致相同的行为:

[assembly: AssemblyTitle("Setup DVD Player")] 
[assembly: AssemblyProduct("Instal President")] // Yes, even with the misspelling.
简单的解决方法是重命名应用程序并避免使用这些关键字

正确的解决方法是在可执行文件中包含应用程序清单。

问题在于程序名中的“更新”一词

当一个可执行文件的名称中有“更新”、“安装”或“安装”等字样时,Windows会假定它可能是一个安装程序,很可能需要管理权限。因此,这些程序必须在启用UAC的系统上以提升提示运行

它也不仅仅是可执行文件名。如果重命名文件不能解决问题,应用程序的版本信息中也可能包含这些关键字。具备以下条件将导致相同的行为:

[assembly: AssemblyTitle("Setup DVD Player")] 
[assembly: AssemblyProduct("Instal President")] // Yes, even with the misspelling.
简单的解决方法是重命名应用程序并避免使用这些关键字


正确的解决方法是在可执行文件中包含应用程序清单。

问题似乎在于程序需要管理员权限,因此如果没有代码,我们就无法真正建议您如何解决问题。针对
anyCPU
将允许您在
x86
x64
操作系统上运行该程序,但在
Windows7
上,它仍会根据程序的实际功能启动UAC。你的问题到底是什么?我可以告诉你,“有人能帮我吗”不是一个主题问题。这在VS2008及以上版本、Project+添加新项目、应用程序清单文件中很容易解决。该更新了。我想做的是更改代码或项目配置,以避免Windows7(x64)上出现UAC消息Dlg。但我不知道我该怎么办。我需要“x86”选项,因为我们要使用x86库。测试代码非常简单(见下文),因此我认为问题出在项目配置中:我无法插入代码,因为字符数有限。问题似乎是程序需要管理员权限,因此如果没有代码,我们无法真正建议您如何解决问题。针对
anyCPU
将允许您在
x86
x64
操作系统上运行该程序,但在
Windows7
上,它仍会根据程序的实际功能启动UAC。你的问题到底是什么?我可以告诉你,“有人能帮我吗”不是一个主题问题。这在VS2008及以上版本、Project+添加新项目、应用程序清单文件中很容易解决。该更新了。我想做的是更改代码或项目配置,以避免Windows7(x64)上出现UAC消息Dlg。但我不知道我该怎么办。我需要“x86”选项,因为我们要使用x86库。测试代码非常简单(见下文),因此我认为问题出在项目配置中:我无法插入代码,因为字符数有限。