gpt4 book ai didi

c# - 程序兼容性助手认为我的应用程序是安装程序

转载 作者:IT王子 更新时间:2023-10-29 03:54:52 26 4
gpt4 key购买 nike

我在 Win 7 RTM x64 上创建了一个 .NET C# WinForms 应用程序,假设我调用了 DataInstaller。

当我在调试器之外运行这个程序时(目前只是一个没有任何功能的空窗体),它工作正常,直到我关闭窗体。然后我从 Program Compatibility Assistant 收到一条消息:

这个程序可能没有正确安装

然后我可以选择使用推荐的设置重新安装,或者说安装确实按预期工作。

如果我将应用程序命名为“DataThingy”,这不是问题,我猜这与调用 *Setup 的程序获得 UAC 盾牌图标的方式有关。

我假设我可以在应用程序 list 中放入一些简单的东西来防止这种情况发生?

我不确定这是否发生在 Vista 上,因为我目前没有访问权限。

更改名称不是一个选项,关闭 UAC 也不是一个选项,所以请不要建议!

编辑:

我的天啊。

看来,如果以下任何一项为真,UAC 就会坚持下去:

Exe名称中包含Installer这个词

AssemblyInfo.cs

AssemblyTitle contains the word 'Installer'
e.g. [assembly: AssemblyTitle("DataInstaller")]
AssemblyProduct contains the word 'Installer'
e.g. [assembly: AssemblyProduct("Data Installation Utility")]

“安装程序”也可以是“安装程序”。

它令人难以置信,它确实如此。显然,一位老 VB6 程序员被调到了雷德蒙德的 UAC 团队。

我仍然需要一个解决方法,我不准备接受我的应用程序不可能被称为安装程序,因为它不接触注册表或将任何文件放在 Program Files 文件夹中。

我假设如果我尝试执行名为 IAmAVirus.exe 的应用程序,UAC 会将机器置于完全锁定状态。 (其实我不敢尝试,因为我不完全相信我只是在装傻)

最佳答案

将其添加到您的 list 中。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!--The ID below indicates app support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!--The ID below indicates app support for Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
</application>
</compatibility>

The GUIDs for all the operating systems in the previous example provide down-level support. Apps that support multiple platforms do not need separate manifests for each platform.

取自App (executable) manifest .

关于c# - 程序兼容性助手认为我的应用程序是安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1577412/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com