2010-06-02 25 views
3

我已经使用了Visual Studio 2005几年了,并且遇到了一个问题,我想知道它是否我很笨。我正在使用Windows Vista,无法在管理员模式下运行Visual Studio而无法使用包含单词“update”的程序集名称来调试项目。在Visual Studio 2005中使用包含单词“update”的程序集名称

例如,我创建了一个新的Windows窗体应用程序项目,并保留默认的windowapplication1程序集名称,然后按下F5进行调试,确保项目运行正常。然后我将程序集名称修改为UpdateManager并再次按下F5。这次它不会运行,并说它需要提升权限。将程序集名称更改为UpdatManager(no'e')并且它再次运行?

这是我在Visual Studio中内置的设置或行为吗?

回答

4

真棒问题。您使用的是旧版本的VS,它不会自动在EXE中嵌入清单,以向Vista发出您的程序了解Vista UAC策略的信号。这使得它像传统程序一样对待您的程序,它会自动将文件和注册表访问重定向到安全位置。

这对旧程序非常有效,除了那些旨在更新,修补或安装程序的程序。 Vista没有简单的方法可以看到程序是安装程序。除此之外,你猜对了,程序的名字。

首先安装Vista特定的service pack for VS2005。您可能还需要解决您的程序正在做什么并使其与UAC兼容。

+0

不幸的是,我已经安装了服务包。根据您的意见,我现在尝试在补丁名称中加入补丁和安装字样,这些也会产生相同的问题。所以它看起来就像它的硬编码,即使应用程序除了显示一个关闭按钮的窗口之外什么也不做。有没有我们无法使用的关键词列表? – Carl 2010-06-02 11:05:40

+0

是的,“设置”是另一个。我不知道一个权威名单。我没有VS2005了,请检查在Project + Add New Item对话框中是否出现“Application Manifest File”。 – 2010-06-02 11:22:03

+0

不幸的是,没有这样的物品可用。不用担心,最主要的是我知道要避免什么,重要的是我可以(至少暂时)不要在我的笔记本电脑上发誓。 – Carl 2010-06-02 11:33:46

相关问题