Re: [問題] 想請教如何把專案包成exe檔

看板C_Sharp作者 (百善孝為先)時間18年前 (2007/09/29 22:45), 編輯推噓11(11021)
留言32則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《IPJ (我要你)》之銘言: : 標題: [問題] 想請教如何把專案包成exe檔 : 時間: Sat Sep 29 17:48:13 2007 : : 在VS 2005 我有寫好的專案... : : 我要包成exe檔 在其他電腦上執行.. : : 請問 要怎麼做呢? : : 謝謝 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 218.167.78.162 : → KENyroj:選 Release 然後在 bin/release 目錄下就有 exe 了吧 09/29 17:55 這編出來的.NET exe檔案不能直接複製到別台電腦執行, 會產生錯誤。必需用部署(deployment)工具部署。 原po問的是包成安裝程式嗎?那就要用到部署工具。 如果使用Visual Studio 2005 Express,有一個叫ClickOnce的部署工具, 不過我覺得非常陽春,相關資訊請爬我的文章。 除了ClickOnce,也可以使用WiX部署工具,可以把你的程式包成msi, WiX可以在網路上找到、免費下載,只是WiX要寫XML 囧 我是用180天試用版的Visual Studio 2005 Team Suite, 它可以建立一個部署Project,用圖形介面來建立msi。 -- 往生淨土咒: 南無阿彌多婆夜 哆他伽哆夜 哆地夜他 阿彌唎都婆毘 阿彌唎哆  悉耽婆毘 阿彌唎哆 毘迦蘭哆 伽彌膩 伽伽那 只多迦隸 莎婆訶 《佛說阿彌陀經》http://web.cc.ncu.edu.tw/~93501025/amtf.doc 《金剛經》http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.204.3

09/29 23:27, , 1F
對方有灌.net framework不是就可以了嗎._.?
09/29 23:27, 1F

09/29 23:28, , 2F
.net framework會在windows update時被安裝(如果有在更新)
09/29 23:28, 2F

09/29 23:49, , 3F
我都是直接摳debug或release目錄的執行檔 可以run沒問題
09/29 23:49, 3F

09/29 23:49, , 4F
當然電腦上都有灌.NET Framework
09/29 23:49, 4F

09/30 08:21, , 5F
這我就不清楚了,我之前試過幾台電腦都是有灌.NET Framework
09/30 08:21, 5F

09/30 08:21, , 6F
但直接複製exe檔過去就不能執行。
09/30 08:21, 6F

09/30 08:22, , 7F
一定要用ClickOnce或MSI部署。
09/30 08:22, 7F

09/30 08:23, , 8F
我印象不知道在哪看過說要把.NET程式複製到沒裝Visual Studio
09/30 08:23, 8F

09/30 08:24, , 9F
2005的電腦( 不是.NET Framework )必需要用部署。
09/30 08:24, 9F
※ 編輯: zxvc 來自: 140.115.204.3 (09/30 08:25)

09/30 08:44, , 10F
這是執行的錯誤訊息:
09/30 08:44, 10F

09/30 08:45, , 11F

09/30 09:19, , 12F
.NET強調就是直接複製檔案就可以了, 不用一定要msi
09/30 09:19, 12F

09/30 09:20, , 13F
你的情況可能是少了一些檔案,例如用到在GAC的dll或是其他
09/30 09:20, 13F

09/30 09:20, , 14F
COM dll
09/30 09:20, 14F

09/30 09:21, , 15F
對方有同版本的.NET framework就可以了. 把dotnetfx.exe
09/30 09:21, 15F

09/30 09:22, , 16F
拿去裝一下就好. 我公司這樣多電腦, 都要用ClickOnce
09/30 09:22, 16F

09/30 09:22, , 17F
的話每一次更新豈不是麻煩死了?
09/30 09:22, 17F

09/30 09:24, , 18F
不過如果會用到CrystalReport就一定要最少經installer
09/30 09:24, 18F

09/30 09:25, , 19F
安裝一次, 不然沒裝那些merge module可跑不了.
09/30 09:25, 19F

09/30 09:26, , 20F
部份其他3rd party的組件也是一樣...
09/30 09:26, 20F

09/30 09:32, , 21F
我剛才寫了一個小程式測試的結果還是不行只複製exe。
09/30 09:32, 21F

09/30 09:34, , 22F
我只是寫個Windows Form,一個Button按下去會顯示Hello。
09/30 09:34, 22F

09/30 09:35, , 23F
還是因為問題是在我用C++/CLI寫,而不是C#才會有此問題?
09/30 09:35, 23F

09/30 09:39, , 24F
成功了,我用C#的確可以只複製執行檔就可以執行。
09/30 09:39, 24F

09/30 09:49, , 25F
原來Visual C++ 2005寫的程式還需要裝上Visual C++ 2005
09/30 09:49, 25F

09/30 09:49, , 26F
Redistributable Package才可以執行。
09/30 09:49, 26F

09/30 09:51, , 27F
這樣就可以只複製執行檔到別台電腦執行。
09/30 09:51, 27F

09/30 09:51, , 28F
不然不裝Visual C++ 2005 Redistributable Package,部署工具
09/30 09:51, 28F

09/30 09:52, , 29F
也會處理相依性的問題。
09/30 09:52, 29F

09/30 09:52, , 30F
真相大白了,謝謝大家。
09/30 09:52, 30F

10/01 07:11, , 31F
VC++有自己的Run time, VB6也有自己的Run Time
10/01 07:11, 31F

10/01 19:29, , 32F
不過C++可以link成static... :P
10/01 19:29, 32F
文章代碼(AID): #16_cK0FO (C_Sharp)
文章代碼(AID): #16_cK0FO (C_Sharp)