2016-12-06 63 views
-1


我已經完成了100次這樣的操作,但是這次它不工作。我使用InstallShield Limited Edition Project構建了安裝程序,我在我的PC上安裝了msi,它工作正常。但是當我將它安裝在客戶端PC上時,它會生成一個快捷方式圖標,當我單擊打開它時似乎嘗試打開它,但它沒有。我禁用了防病毒,防火牆,但沒用。 此外,這是一個新的PC,我試圖創建一個新的WINFORM。所以安裝了flexera installSheild。Exe在VS2012中創建的usng InstallShield不起作用

我按照@rabban查看了日誌的EventViewer。它在.NET運行 了錯誤並記錄說:

Application: Banquet.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.IO.FileNotFoundException 
Stack: 
at Banquet.CustDetails.InitializeComponent() 
at Banquet.CustDetails..ctor() 
at Banquet.Program.Main() 

而且那裏有另一個錯誤源:錯誤器件的應用和日誌:

Faulting application name: Banquet.exe, version: 1.0.0.0, time stamp: 0x5846b76f 
Faulting module name: KERNELBASE.dll, version: 6.2.9200.17366, time stamp: 0x554d16f6 
Exception code: 0xe0434352 
Fault offset: 0x00010192 
Faulting process id: 0x10a8 
Faulting application start time: 0x01d25048c6a7898f 
Faulting application path: C:\Program Files (x86)\KAEM\My Product Name\Banquet.exe 
Faulting module path: C:\WINDOWS\SYSTEM32\KERNELBASE.dll 
Report Id: 048f9002-bc3c-11e6-be95-10604b723b92 
Faulting package full name: 
Faulting package-relative application ID: 
+1

您是否試圖執行應用程序本身?你看過EventLog嗎? – Rabban

+0

是的,我也直接運行的exe,但同樣。我在哪裏可以找到事件日誌? – mark

+0

https://technet.microsoft.com/en-us/library/cc749408(v=ws.11).aspx – Rabban

回答

0

看來你試圖訪問的東西是不是那裏。將try/catch放在你的表單初始化周圍的program.cs中,並用文本文件中的所有內部異常和堆棧跟蹤編寫異常,然後知道缺失的是什麼。

static class Program 
{ 
    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     try 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new Form1()); 
     } 
     catch (Exception exception) 
     { 
      // the file will be written in your execution path. 
      string path = "error.txt"; 

      // if you don't have the rights to write in the execution path, uncomment this line and comment the other path line. 
      // the file will then be located at: C:\Users\YourUserName\AppData\Local\error.txt 
      //string path = $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\\error.txt"; 
      if (File.Exists(path)) 
       File.Delete(path); 

      var sb = new StringBuilder(); 
      while (exception != null) 
      { 
       sb.AppendLine(exception.ToString()); 
       sb.AppendLine(exception.Message); 
       sb.AppendLine(); 

       exception = exception.InnerException; 
      } 

      File.WriteAllText(path, sb.ToString()); 

      throw; 
     } 
    } 
} 
+0

我做了,它給'string path = $「{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)} \\ error.txt」; '因此將其改爲'string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);' 但是這並沒有在該文件夾中創建任何error.txt – mark

+0

當您刪除文件名時,它不能創建文件。您可以使用「C:\ temp \ error.txt」交換路徑,但需要確保「C:\ temp \」存在。 – Rabban

+0

我試圖在消息框gettting異常,這就是我得到的''無法加載文件或程序集'Micosoft.VisualBasic.Powerpacks.Vs,Version = 10.0.0.0,Culture = nuetral,PublicKey Token = b03f5f7f11d50a3a'或它的依賴關係。系統找不到指定的文件 – mark

相關問題