我有一个安装我的应用程序的设置(我的应用程序只是一个隐藏的应用程序,用于将数据从我的服务器同步到用户)...
当设置启动我的应用程序时,应用程序在完成后退出! (完成后不应该退出,因为Timer会一次又一次地重启函数......)
我使用的安装程序创建者是InstallForge,我认为问题出在InstallForge上,所以我创建了另一个执行Process.Start("MyApp.exe")
的应用程序,但同样的问题也出现了!
手动打开应用程序exe很好,当我手动打开它时不会出现问题。
编辑:我的应用程序没有与应用程序关闭相关的任何内容。
以下是我隐藏应用程序的方法:
Form_Load事件
Me.ShowInTaskbar = False
Me.Opacity = 0.0
Form_Shown事件
Me.Visible = False
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:0)
根据您的一个问题 - > Disable exception errors ( .NET error messages / dialog ) and resume the code
如果您隐藏了异常错误,请删除隐藏它们的代码,然后您会看到“Invaild路径”错误。
Application1:应用程序是否正在尝试打开您的应用程序。
申请2:是你的申请。
如果你的应用程序(Application2)有任何一行尝试启动另一个exe文件,该文件位于你的应用程序的同一个文件夹中(Application2)......它将抛出错误,因此应用程序将退出。
因此,假设Application1位于“C:\ app1”中,而Application2位于“C:\ app1 \ myapp”中。
当Application1执行Process.Start("myapp\app.exe")
时,它将正确启动Application2 ...但是Application2启动另一个exe文件已经太迟了,该文件位于它的同一个文件夹中!你知道为什么?那是因为Application1已经将工作目录设置为“C:\ app1”,而Application2必须从“C:\ app1 \ myapp”运行它想要的东西。
因此,解决方案就是在Application2 上执行此操作:
添加:
Dim strPath As String = System.IO.Path.GetDirectoryName( _
System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
现在,您可以通过以下方式执行Application2中的任何内容:Process.Start(strPath + "\startthis.exe")
来源:https://stackoverflow.com/a/2593490/6486232
或 您必须将Application2的文件放在Application1文件的同一文件夹中。
希望它有所帮助! :)