2017-09-23 112 views
0

我有一个设置,其中安装我的应用程序(我的应用程序仅仅是一个隐藏的应用程序,从我的服务器到用户同步数据)...申请退出

当安装启动我的应用程序,应用程序在完成时退出! (它不应该退出时,因为定时器将重新启动功能......)

我使用的安装创建者是InstallForge,我认为问题与InstallForge所以我创建了另一个应用程序,但Process.Start("MyApp.exe")但同样的问题也发生了!

手动打开应用程序的exe文件很好,并且我手动打开它时不会发生此问题。

编辑:我的应用程序没有与应用程序关闭相关的任何内容。

这是我如何隐藏我的应用程序:

Form_Load事件

Me.ShowInTaskbar = False 
Me.Opacity = 0.0 

Form_Shown事件

Me.Visible = False 

任何帮助,将不胜感激!

谢谢!

回答

0

基于对您的问题在这里一个 - >Disable exception errors (.NET error messages/dialog) and resume the code

如果你是隐藏的异常错误,请删除其隐藏他们的代码,你会看到一个“Invaild路径”的错误,然后。

应用程序1:应用程序是否正试图打开您的应用程序。

Application2:是您的应用程序。

如果您的应用程序(Application2)有任何一行尝试启动另一个与您的应用程序(Application2)相同的文件夹中的exe文件,它将引发错误并退出应用程序。因此,假设Application1位于“C:\ app1”,Application2位于“C:\ app1 \ myapp”中。

当Application1执行Process.Start("myapp\app.exe")它将正确启动Application2 ...但Application2启动另一个exe文件在它的同一个文件夹中为时已晚!你知道为什么?这是因为工作目录已被Application1设置为“C:\ app1”,而Application2必须从“C:\ app1 \ myapp”运行它所需的内容。

所以,简单的解决办法是这样做的应用2

补充一点:

Dim strPath As String = System.IO.Path.GetDirectoryName(_ 
    System.Reflection.Assembly.GetExecutingAssembly().CodeBase) 

现在,你可以通过从应用2执行什么:Process.Start(strPath + "\startthis.exe")

来源: https://stackoverflow.com/a/2593490/6486232

您必须将Application2的文件放在Application1文件的同一文件夹中。

希望它有帮助! :)

+0

非常感谢你非常非常非常! – MatrixCow08