none
建立msi檔問題 RRS feed

  • 問題

  • 各位好:

    利用vs2008 建立setup project時,若要在安裝後執行一個exe檔,將此exe檔加入在custom actions的install項目中是否正確?

    因為我加入後建立成msi檔,在執行時會顯示『windows installer封裝有問題。安裝時所要執行程式並未如預期完成......』的訊息,不知道是不是還有其它的設定要先做呢?

    謝謝!

    2008年10月18日 上午 01:22

解答

  • VS2008 還沒測過這部分。

     

    VS2005 是在

    自訂動作 安裝 滑鼠右鍵 加入自訂動作 選好目標

     

    即可。

     

    你選的目標必須在你的封裝專案中,不能去選擇 Windows 內的系統檔。

     

    2008年10月18日 上午 05:30

所有回覆

  • VS2008 還沒測過這部分。

     

    VS2005 是在

    自訂動作 安裝 滑鼠右鍵 加入自訂動作 選好目標

     

    即可。

     

    你選的目標必須在你的封裝專案中,不能去選擇 Windows 內的系統檔。

     

    2008年10月18日 上午 05:30
  •  

    請問選擇的目標必須在封裝專案中,是指必須與我建立的setup檔相同位置嗎?
    2008年10月18日 下午 02:23
  • 不是,而是必須加入你的封裝專案內。

     

    2008年10月18日 下午 03:34
  • 我依照您的方式試了一次,是能順利安裝成功,但僅是將檔案安裝到指定的路徑底下,並不會在安裝後自動執行exe檔,不知道是不是有方法能在msi檔安裝後再自動執行exe檔呢?謝謝!

    2008年10月19日 上午 08:41
  • 前面說的話若分成兩段,從你的描述只有這段:

    Code Snippet

    你選的目標必須在你的封裝專案中,不能去選擇 Windows 內的系統檔。

     

     

    看起來這段你沒正確設定:

    Code Snippet

    VS2005 是在

    自訂動作 安裝 滑鼠右鍵 加入自訂動作 選好目標

     

     

    2008年10月19日 上午 10:37
  • 我依照你的方式做了一次,安裝時exe檔已可以自動執行,但執行後仍然會顯示『windows installer封裝有問題。安裝時所要執行的程式並未如預期完成。....』的訊息,請問是不是除上面的設定方式外,還有其它要注意的地方呢?謝謝!

     

    2008年10月20日 上午 12:19
  • 我自己做的有正常跑完,你的情況我無法判斷,照你的描述,我會猜你外部程式沒有正常跑完,造成 Windows Installer 偵測錯誤,例如傳回 Exit Code = 1 之類,這要看你外部成是怎樣結束造成。

    2008年10月20日 上午 03:28
  •  

    我的外部程式只是執行一段copy的指令,msi執行失敗但那段copy指令是有成功的。
    2008年10月20日 上午 03:48
  • 你的外部程式是自己寫的還是呼叫系統命令?

     

    自己寫的用 VSNET IDE 環境跑,正常結束後,看看下方輸出視窗是否有這樣的內容:

    Code Snippet

    '[processid] appname.vshost.exe: Managed' 程式以返回碼 0 (0x0) 結束。

     

     

    如果返回碼不是 0 ,表示你程式寫的有問題,請列出你結束的程式碼。
    2008年10月20日 上午 05:47
  • 已經將問題解決了,謝謝您的提醒!

    2008年10月24日 上午 01:54