轉(zhuǎn)載:https://blog.csdn.net/u011981242/article/details/51059435
有不少朋友問到C#Winform程序怎么樣配置升級(jí),怎么樣打包,怎么樣發(fā)布的,在這里我解釋一下打包和發(fā)布
關(guān)于打包的大家可以看我的文章C# winform程序怎么打包成安裝項(xiàng)目(圖解)
其實(shí)打包是打包,發(fā)布是發(fā)布兩者是沒有任何關(guān)系的,只是有些同志會(huì)分不清楚?;煸谝黄鹆?。
下在面大家就和我一起來做一個(gè)發(fā)布并升級(jí)的程序吧。
首先我們準(zhǔn)備幾個(gè)工作
1.新建一個(gè)存儲(chǔ)發(fā)布后程序的目錄比如D:\iis\textWinform??以下簡(jiǎn)稱-- 發(fā)布目錄
2.在IIS新建一個(gè)網(wǎng)站并指向目錄D:\iis\autoWinfrom,當(dāng)然這個(gè)你隨意,我這里只是有一個(gè)測(cè)試 以下簡(jiǎn)稱??升級(jí)目錄
因?yàn)槲沂且慌_(tái)電腦,如果大家真實(shí)使用時(shí),這個(gè)就是你服務(wù)器上的配置了
3.當(dāng)然還要有一個(gè)升級(jí)的URLhttp://192.168.1.105:8055這個(gè)就是剛才我新建網(wǎng)站的地址 關(guān)于怎么配置IIS下網(wǎng)站的操作,大家可以參考我的文章IIS6.0手動(dòng)安裝與配置asp.net2.0|3.5|4.0全過程
好了下面開始吧
1.新建一個(gè)項(xiàng)目,可以簡(jiǎn)單點(diǎn),因?yàn)槲覀冎皇菫榱藴y(cè)試發(fā)布功能
我就以一個(gè)計(jì)算字符長(zhǎng)度的程序?yàn)槔影?/p>
界面如下

代碼如下
[C#]純文本查看復(fù)制代碼
private?void?button1_Click(object?sender, EventArgs e)
???????{
???????????richTextBox1.Text = textBox1.Text.Length.ToString();
???????}
非常的簡(jiǎn)單了吧。
好了下面開始吧
2.發(fā)布

我們右鍵單擊項(xiàng)目找到發(fā)布二字然后單擊它
3.選擇 發(fā)布目錄 效果發(fā)下

這里就是我們上面新建的發(fā)布目錄了
4.選擇升級(jí)服務(wù)器地址

選擇我們上面配置好的IIS服務(wù)器地址就行了。
5.選擇運(yùn)行方式

這里是選擇程序是否允許在脫機(jī)模式下運(yùn)行程序,當(dāng)然一般是 是,如果你確實(shí)有需要的話可以選擇否的。
這個(gè)根據(jù)自己情況吧
6.開始發(fā)布
在發(fā)布之前會(huì)生成一個(gè)報(bào)告,如上圖下一步

然后單擊確定,過一會(huì)兒會(huì)發(fā)布成功,并直接打開如下界面哦

沒錯(cuò)就是這個(gè),連升級(jí)和下載的界面都幫助咱們生成 了。是不是很棒啊。
先別急著安裝,因?yàn)楝F(xiàn)在還不行,我們還要進(jìn)行配置才行,
先到發(fā)布目錄下看看我們生成的是什么程序吧

就是這些程序,

這里面記錄的是每次發(fā)布的版本,當(dāng)然我們要定期進(jìn)行適當(dāng)?shù)那謇?,要不然?huì)越來越多哦。
下面我們什么也不用管只要把這些程序Copy到升級(jí)目錄下面就行了
Copy完成如下

好了 我們的配置工作到這里就算完成了。
下面就是分布用戶的問題了,如果你希望那個(gè)電腦安裝你的程序,就可以直接復(fù)制Setup程序給他就行了

沒錯(cuò)就是這個(gè),而且只需要這一個(gè)就可以,或者直接把http://192.168.1.105:8055/publish.htm這個(gè)地址發(fā)給用戶也是一樣的
然后在用戶電腦上雙擊安裝

過一會(huì)兒就安裝完成了,
之后會(huì)自動(dòng)打開程序如下

看這不是我們剛才寫的程序嗎?是不是很激動(dòng)啊。
到這里就算是大功已成了,下面我們看看他安裝在什么地方吧

沒錯(cuò)就在我們的開始程序里面
7.升級(jí)
到這里客戶端的工作就完成了,以后用戶只需要單擊這個(gè)程序就行,有升級(jí)會(huì)自動(dòng)提示
下面咱們來看看如果有更新了會(huì)怎么樣。
我們將剛才的例子做一個(gè)更新,添加一個(gè)幫助按鈕
效果如下

代碼如下所示
[C#]純文本查看復(fù)制代碼
private?void?button2_Click(object?sender, EventArgs e)
??????{
??????????richTextBox1.Text =?"只要你輸入字符并單擊計(jì)算就會(huì)自動(dòng) 計(jì)算出長(zhǎng)度哦? 還不試試";
??????}
哎,這不能再簡(jiǎn)單了吧,呵呵,大家知道什么意思就行了,只是為了看看效果。
修改完成之后我們?cè)賹⑦@個(gè)程序安上面的步驟一步一步的操作一下,最后把發(fā)布目錄的程序copy到升級(jí)目錄就行了。
然后在客戶端單擊剛才安裝的程序

會(huì)自動(dòng)出現(xiàn)如上圖的提示,那么我們只要單擊確定就行。

開始升級(jí)了

怎么樣,是不是很簡(jiǎn)單啊,到這里我們已完成了發(fā)布與升級(jí)的效果
8.配置
大家一定會(huì)想了,這太簡(jiǎn)單了,如果要修改安裝的目錄 ,圖標(biāo),之類的應(yīng)該怎么操作呢?
這個(gè)其實(shí)也很簡(jiǎn)單大家右鍵項(xiàng)目選擇屬性

找到發(fā)布

這所有的配置都在這里,
在這里,版本號(hào),你每發(fā)布一次會(huì)自動(dòng)增長(zhǎng)一個(gè),也就是因?yàn)樗蛻舳说某绦虿艜?huì)自動(dòng)升級(jí)的哦。
而且你還可以把NEt運(yùn)行環(huán)境直接打包進(jìn)去,如果客戶端第一次安裝沒有.net環(huán)境的話,可以直接從升級(jí)的網(wǎng)站下載的哦。