公司的程式平常有要更新
都只會更新一個.exe 和兩個.dll而已
最近遇到Mail server的規則
或者防毒的規則
專案匯出的.exe檔案不是被擋就是被改副檔名
會被判定成危險
我去嘗試使用Visual Studio Installer Projects做成安裝檔
問題是安裝過一次下次就要先移除才能再安裝
由於是要給客戶使用的
基本上當作他們只會點兩下我給他們的東西
要他們移除對他們來說太難了
所以想請問有沒有其他的工具
可以幫我把檔案打包成一個安裝檔
執行時就單純把打包的檔案複製到指定的資料夾這樣
壓縮成zip並且加入密碼後寄給客戶。
Visual Studio 先安裝 Microsoft Visual Studio Installer Projects,在專案中加入Installer Projects,Installer Projects加入執行檔以及相關檔案,建置Installer Projects
會產生副檔名為msi的安裝精靈檔案。
先將執行檔副檔名改成非exe,寄給客戶請客戶修改副檔名,再覆蓋原本的執行檔。
如何透過mail交付到客戶手中並且可以安裝重複製作新版本Patch的安裝程式。
mail交付可以不用附加檔案,你可以給一個做法讓他自己取得。
例如:下載連結。
一些可信任免費空間製作安裝程式載點。
google硬碟
ASUS WebStorage(開帳號有少量空間免費使用),
github開一個專案目錄放上安裝程式提供下載。
安裝程式部分,大多都是最終exe呈現,如果使用上述下載連結讓對方取得就解決傳輸問題。
你的東西很簡單
少數 dll 跟 exe 檔案放置在特定目錄。
7zsfxMaker:可以製作壓縮自解exe檔案,可以指定解壓路徑以及解壓後執行特定檔案(選配),就可以達到重複安裝效果。
NSIS:專門製作安裝程式的封裝工具,這需要學習NSIS語法,但學會之後幾乎能幹很多事情,要簡單要複雜都可以。學習門檻較高,不過你是寫程式背景學習應該不難,學起來多一個技能有利於之後解決很多大量佈署程式問題。你的需求很簡單算是簡單範例水準就能應付。
你可以自己做自動更新
請下載 AutoUpdaterDotNET 套件
private static void AutoUpdateEvent(UpdateInfoEventArgs args)
{
var dialogResult = MessageBox.Show($"有新版本可用。要立即更新應用程式嗎?", "更新可用", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
try
{
// 下載成功
if (AutoUpdater.DownloadUpdate(args))
{
// 關閉原來的程式並更新
System.Windows.Forms.Application.Exit();
}
}
catch (Exception exception)
{
MessageBox.Show("更新失敗", "錯誤", MessageBoxButtons.OK);
}
}