none
[VB 2005]程式封包後出現的問題 RRS feed

  • 問題

  • 各位老師好

    我今天寫的程式在本機 Debug 沒有問題
    封包後安裝在本機執行也沒有問題

    但是把封包後的安裝檔拿去別的電腦安裝
    卻不能執行

    "xxx發生問題,必須關閉,謹此致歉"
    出現這些字樣就關閉了

    請問為什麼呢?

    謝謝各位老師


    易耳易兒
    • 已移動 璉璉Moderator 2009年11月19日 上午 04:26 (從:Visual Basic)
    2009年11月13日 上午 02:23

解答

所有回覆

  • 補充 :
    別台電腦已經有安裝 .Net framework 2.0  & 3.5


    易耳易兒
    2009年11月13日 上午 02:23
  • 看不太懂~
    安裝出問題還是執行出問題?

    .Net 程式出問題會跳出 .Net 專門的錯誤訊息盒,若是拿 Debug 去散佈,還可以點詳細把錯誤訊息撈出來。

    你這個訊息不是 .Net 的錯誤訊息盒。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年11月13日 上午 02:31
  • 心冷 老師好

    他除了  "xxx發生問題,必須關閉,謹此致歉"

    之外

    沒有其他錯誤訊息耶

    可是明明在我開發的機器上都可以Debug , Setup 後也可以執行的

    可是我想不通為什麼在別台電腦就會出現這樣的問題

    OS也是一樣的...
    易耳易兒
    2009年11月13日 上午 02:33
  • 看起來你有用多執行緒寫囉 ?看起來錯誤像是出現在多執行緒的程序中.
    ex: 如果你有使用com port做接收資料的動作, 而且是在多執行緒中開啟com port, 正巧那個com port 已被佔用或根本那com port就不存在, 就會出現這樣的問題
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月13日 上午 02:48
    版主
  • Bill 老師好

    但是我的主表單一Load進來 就是一道建立資料夾的程式碼

    如果說錯誤是出現在執行副執行緒相關

    那應該會出現在執行完建立資料夾這行之後吧?

    可是我出現錯誤時

    資料夾都還沒有建立

    謝謝老師


    易耳易兒
    2009年11月13日 上午 03:00
  • 我想你可能需要加上必要的 Try ...Catch, 然後把錯誤資料記錄下來. 不然我們只能瞎猜.

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月13日 上午 03:02
    版主
  • Bill 老師好

    但是我的主表單一Load進來 就是一道建立資料夾的程式碼

    如果說錯誤是出現在執行副執行緒相關

    那應該會出現在執行完建立資料夾這行之後吧?

    可是我出現錯誤時

    資料夾都還沒有建立

    謝謝老師


    易耳易兒
    沒有說明程式相關流程以及相關程式碼,那就只有猜,你前面沒有說明,大家怎麼可能會知道你程式怎麼跑?

    回歸正題,同 Bill 所說,我之前遇到像這樣的錯誤訊息也是發生在子執行緒中,如果有使用多執行緒,可以朝這個方向檢查看看。如果在其他電腦上一執行就馬上會重現錯誤的狀況,那最簡單的方式就是把子執行緒都先關掉,重新build一下,再放過去測試,這樣就能確定是不是這個原因。

    另外,多執行緒中,有去變更UI的部分記得一定要使用委派,不然有時候也會死的莫名其妙的。
    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2009年11月13日 上午 03:48
  • 有個簡單的方式啊, 你可以先把啟動多執行緒的程式碼註解起來, 讓它不要啟動多執行緒, 看還會不會出錯.
    除錯有時就是辛苦, 要動手作. 光靠猜要猜的準是不容易的.
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月13日 上午 03:58
    版主
  • 各位老師好

    不好意思

    一開始說明的不夠詳細

    那因為我的專案一開始本來就沒有啟用副執行緒
    那我還是先把它全部註解掉了

    可是情況還是一樣ㄝ

    麻煩各位老師ㄌ

    謝謝
    易耳易兒
    2009年11月13日 上午 04:22
  • ...

    那你的相關程式碼呢?還是沒有講到重點啊...單目前你提供的相關訊息,"在自己的電腦可以跑,封裝後在別的電腦會發生錯誤",這...我只能告訴你,我的不會耶...

    程式是一load就馬上出錯?Form有跑出來嗎?連Form都沒出現那問題很有可能在Form_Load中;看是不是有讀取什麼檔案之類的,看一下檔案有沒有少部署過去..
    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2009年11月13日 上午 05:06
  • 問題如果出在建立資料夾.
    1. 對方是用哪種 作業系統? 如果是小7或Vista,  可能會有 UAC的問題
    2. 你可以先把程式編譯成 Debug 組態, 然後把Debug目錄下的所有檔案Copy 去那台電腦試試看, 因為你用封裝發行, 可能不會有.pdb檔, 因此出了錯也不會出現錯誤訊息.
    3. 測試的時候還是在原始碼中包一些Try..Catch會好一點, 這樣比較容易找出例外.
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月13日 上午 05:24
    版主
  • 如果是 .Net 子執行緒發生問題,仍會跳出 .Net 專用的錯誤對話盒... (我碰過很多次了)

    你是否有參照到函數型的 DLL 或 COM ,造成在程式載入時就錯誤?
    你是否確認過你封裝的內容與檔案是完整的?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年11月13日 上午 07:45
  • 各位老師好

    就今天我試了一整天的結果

    我可以確定的是

    他沒有跑任何一行的我撰寫的程式碼,在這之前就出錯了

    所以我朝是不是有少參考什麼,或是少了哪個DLL 去查

    也把兩台電腦搞到要重灌了  = =

    後來發現可能是硬體供應商他控件版本的問題(因為有打電話去問了,他同一種控件有兩種版本)

    我下次上班再來試試看

    不好意思,今天麻煩各位老師了

    下次試的結果還是一樣時 , 我會把詳細情形 po 上來的

    謝謝各位老師

    辛苦了
    易耳易兒
    2009年11月13日 下午 01:24
  • 硬體供應商的控件 ? 所以你的程式有Import其它的DLL囉 ?

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月13日 下午 01:32
    版主
  • 恩恩

    對...

    有使用外部的OCX

    所以他一開始就出錯了,因為這個控件我已經灌了2樣東西了

    一樣是這個硬體的驅動
    一樣是這個硬體的管理軟體(供應商說一定要灌這個才能安裝硬體)
    一樣是這個OCX(這個我一直以為不用安裝,我以為封裝就直接包在程式了,問供應商的結果,他們說還是要灌)

    所以麻煩老師ㄌ

    不好意思

    謝謝


    易耳易兒
    2009年11月13日 下午 01:39
  • 1. ocx 要先確認其轉散佈授權。
    2. 要確認完整檔案清單,可能會有 .ocx / .oca / .dll / .tlb 共組成一套,一般來說通常直接丟到 c:\windows\system32
    3. ocx 有分執行授權與設計授權,如果廠商有提供轉散布安裝程式,建議直接用會比較簡單。
    4. 透過 Windows Installer 封裝部署,可參考:
    http://msdn.microsoft.com/zh-tw/library/ms165432.aspx
    http://msdn.microsoft.com/zh-tw/library/kzy0fky2.aspx
    http://msdn.microsoft.com/zh-tw/library/4kbye0ax.aspx
    http://msdn.microsoft.com/zh-tw/library/xwzy44e4.aspx
    http://msdn.microsoft.com/zh-tw/library/9d671sd0.aspx
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年11月13日 下午 02:21
  • 講一些我之前也遇到的問題 給你參考一下
    第一   我用C++寫成的DLL .Lib路徑錯誤
    第二   也是c++寫的dll 因為安裝那台電腦沒安裝vc++ 也會造成這個問題

    2009年11月17日 上午 02:28
  • 各位老師好

    已經確定是ocx版本的問題了

    很謝謝各位老師的幫忙

    謝謝


    易耳易兒
    2009年11月18日 上午 01:17
  • 版本還是部署缺檔問題?

    版本的話可以關掉 UAC / BIOS DEP 設定再測測看。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年11月18日 上午 03:09
  • 老師好

    是供應商那邊他封包的控件版本不一

    他們說兩個版本封包的方式都不一樣

    所以用錯版本會有差異性

    請問老師UAC是什麼呢?


    謝謝老師
    易耳易兒
    2009年11月18日 上午 04:20
  • Vista/Win2008/R2/Win7 才有的東西。
    一個權限管理系統,即使使用 Administrators 登入,使用時仍是 Users 。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年11月18日 上午 05:48
  • 移文至:
    Visual Studio一般討論區(General)

    註:目前封裝部署相關討論集中在 VS 版內,所以移動過去網友好參閱
    T.L. Cheng
    2009年11月19日 上午 04:26
    版主