Java 为什么';是否允许此应用程序更改Windows';

Java 为什么';是否允许此应用程序更改Windows';,java,windows,Java,Windows,我是一名开发人员,我突然发现在Windows 10上,每次启动C:/Program文件时,在将最新版本的应用程序安装到C:/Program文件中后,会出现以下弹出窗口。我认为这一定是Windows的变化,而不是我的应用程序中的任何东西,但我不明白为什么现在会发生这种情况 我不介意它在初始安装时出现,但每次运行它时都会出现,只有在安装到(默认)位置时才会出现 该应用程序是基于Java的,在exe包装器中,该应用程序使用来自Comodo的有效证书进行签名 做了一些进一步的测试 我有一个64位的安装

我是一名开发人员,我突然发现在Windows 10上,每次启动C:/Program文件时,在将最新版本的应用程序安装到C:/Program文件中后,会出现以下弹出窗口。我认为这一定是Windows的变化,而不是我的应用程序中的任何东西,但我不明白为什么现在会发生这种情况

我不介意它在初始安装时出现,但每次运行它时都会出现,只有在安装到(默认)位置时才会出现

该应用程序是基于Java的,在exe包装器中,该应用程序使用来自Comodo的有效证书进行签名

做了一些进一步的测试

我有一个64位的安装程序,其中包含C:/Program Files/Jthink/Songkong,一旦安装,我可以运行SongKong64.exe或SongKong64.bat

然后我有一个32位的安装程序,它将C:/Program Files(x86)/Jthink/Songkong放入其中,一旦安装,我就可以运行Songkong.exe或Songkong.bat

  • 如果我将64位安装程序安装到C:/Program文件(x86)中,它可以正常工作
  • 如果我将32位安装程序安装到C:/Program文件中,它可以正常工作
  • SongKong64.bat始终在安装的地方工作
  • 如果我简单地将Songkong64.exe(和Songkong64.ini)重命名为Songkong.bat和Songkong.ini,那么它就可以正常工作了

唯一的问题是Songkong64.exe在安装到C:/Program Files的子目录时,为什么会出现这种情况?

这是我自己犯的一个愚蠢的错误,选中了“以管理员身份运行”复选框来显示此特定的exe,这就是导致出现对话框的原因。随后重新安装到同一文件夹时没有重置此标志,但如果我删除了该文件夹并进行了新的安装,则它会按预期工作,而不会出现对话框(不再选中“以管理员身份运行”)

当程序执行时,您是否在程序目录中写入任何内容?不,我不认为so@GilbertLeBlanc我做了一些其他的安装,问题似乎具体到在C:/Program文件中使用一个名为64的exe?