2017-09-23 171 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