C# 安装后运行应用程序时不会发生任何情况

C# 安装后运行应用程序时不会发生任何情况,c#,installation,C#,Installation,我知道有很多关于类似问题的话题存在,但没有一个能解决我的问题 因此,我有一个应用程序,它工作得非常好。我在解决方案中添加了installShield向导,为我设置了一些东西,使我能够在任何地方安装它。我在我的电脑上试过(我和他一起创建了这个程序),它成功了 我在另一台电脑上安装了它,安装后(这很好),当我点击运行.exe时,有一个快速加载(光标变成蓝色圆圈),然后什么也没有 进程中没有任何内容,日志中也没有任何内容,以管理员身份运行它是不起作用的。我试着把它安装在别处,但同样的事情发生了。我还检

我知道有很多关于类似问题的话题存在,但没有一个能解决我的问题

因此,我有一个应用程序,它工作得非常好。我在解决方案中添加了installShield向导,为我设置了一些东西,使我能够在任何地方安装它。我在我的电脑上试过(我和他一起创建了这个程序),它成功了

我在另一台电脑上安装了它,安装后(这很好),当我点击运行.exe时,有一个快速加载(光标变成蓝色圆圈),然后什么也没有

进程中没有任何内容,日志中也没有任何内容,以管理员身份运行它是不起作用的。我试着把它安装在别处,但同样的事情发生了。我还检查了.NET版本,它是正确的

我不知道还有什么其他信息要告诉你,所以请随时问我,如果你有一个线索。我这里的解决方案快用完了

编辑:实际上,在快速加载过程中,我看到了我的应用程序。
可能是您的应用程序使用了一些需要其他Dll的Dll,等等。我有时会遇到这个问题。对我来说,依赖项遍历器对于查找程序的每个依赖项和子依赖项非常有用。Dependency Walker是一个免费工具,您可以下载。只需打开dependency walker,选择您的程序exe(在程序运行的开发计算机上),然后用destiny计算机(程序不运行的计算机)上的文件检查显示的依赖项。也许你能找到一些丢失的Dll

以下是AMSI.dll的示例:

首先在destiny计算机上检查此dll。 如果缺少其中一个,请手动从开发系统复制Dll,并记下您复制了此Dll

如果计算机上的所有DLL和您的程序仍然无法工作,请继续下一层。打开dll并检查其依赖关系:

不要理会那些红色的。只需查找具有“普通”名称的dll

只需继续使用另一个dll的层。 在我的例子中,第二层足以运行程序


另外,通常检查第一个列出的Dll就足够了,比如
Kernelbase.Dll
,而不是
API-MS-WIN-CORE-PROCESSTHREADS-L1-1-3.Dll
。。。你会明白我的意思。(请看图片2(第2层))

它是否正在本地PC(与您一起创建程序的PC)上查找文件?如果可以找到任何内容,请在事件查看器和Process Explorer中进行检查。可能!我如何找出哪一个并解决它?通常这意味着您的计算机上有一个所需的文件,而该文件没有被复制到输出目录。在解决方案资源管理器中,您可以右键单击组成项目的所有项并选择“属性”。查看复制到输出目录的属性。如果这是一个需要安装它的PC的项目,那么请确保它被设置为“始终”,或者如果是“NewerWell”,听起来像是一次单击部署,在这种情况下,它也不应该在他的PC上工作。对于缺少的程序集引用,将有一条关于无法运行的更为详细的消息。我想在“C:\users\Underpaid Intern\docs\…”等中查找引用的文件。您好,谢谢您的回答!但是我有一千个缺少dll的错误:o怎么解决呢?我需要下载吗?如果我这样做了,如何在安装时添加它们以使其在每台pc上工作?您必须找到缺少的“核心”dll。有些dll是您不需要的。您必须找到运行程序所需的主dll。您可以根据找到的dll的名称进行定位。试着从一层工作到另一层。首先是程序需要的所有dll,然后是dll需要的dll。在您的开发pc上搜索它们,并将它们复制到第二台pc上的exe文件夹中。然后尝试运行。它不起作用吗?然后复制下一个。这是许多工作,但通过这种方式,您可以找到所有需要的DLL。注意所有复制的dll。如果你让你的程序运行,请将它们添加到设置中。@Intern我已经在我的帖子中添加了一些文本和图片。希望这对你和你的程序运行有所帮助。我按照你说的做了,查找名称旁边有红方块的dll,然后加载并将它们放入我的调试文件中。但同样的问题,也许我误解了你你把文件复制到了你电脑上的应用程序文件夹,而这个程序不起作用?或者在开发PC上的调试文件夹中?