The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹 Windows Installer 好用的合併模組 (Merge Modules)

最近我不斷的在跟 Windows Installer 奮戰,由於我們公司開發的產品需要外掛一個硬體驅動程式,而我希望我們的產品在安裝時可以連同該驅動程式也一併自動安裝進去,原本我的想法很簡單,只要在自訂動作(Custom Action)中在安裝前自動執行那個驅動程式的安裝檔即可,誰知道原來那個驅動程式的安裝檔也是用 Windows Installer 建置的,就因為 Windows Installer 不允許有兩個 Windows Installer 安裝程式同時執行,所以這個方法根本行不通。

... 繼續閱讀 ...

關於 Visual Studio 2010 與 .Net 4.0 的新功能展示影片

今天參加 Microsoft MVP 的聚會,在研討 Microsoft Visual Studio 10 開發工具技術應用座談會中我有提到一個在 Channel 9 有個 10-4 的專題系列影片,裡面講解許多關於 .Net Framework 4.0 與 Visual Studio 2010 的新功能預覽,透過影片的帶領可以讓你快速瞭解 Visual Studio 2010 的新功能與特色,也看的到新版 Visual Studio 採用 WPF 技術所開發出來的全新 UI ( 使用者介面 ),我相信對各位來說絕對會是個全新體驗。

... 繼續閱讀 ...

如何將自訂參數傳入 Installer 類別的 Install 方法 ( Part 2 )

若希望可以在透過 msiexec 進行靜默安裝時能夠傳入自訂的屬性(PROPERTY)到自訂動作(Custom Action)中,然後再透過自訂動作的 CustomActionData 屬性傳入實做自訂動作的 Installer 類別中,之前試過一次但不成功,還以為是 Msi 格式的限制,直到最近我終於找出方法與真正的限制所在了。

... 繼續閱讀 ...

如何對 [Windows 服務] 與 [安裝專案的自訂動作] 進行除錯

雖然 MSDN 的 HOW TO:偵錯 Windows 服務應用程式 文件有教如何除錯,但是這樣的除錯有個大缺點,就是有時後程式碼是在 OnStart 事件一開始的時候就發生問題的,有時後就會因為來不及 附加 (Attach) 程序導致無法除錯。另外,對於「安裝專案」內的「自訂動作」由於是在專案的 Installer 類別中執行的,所以要對「安裝專案」進行除錯也不太容易。我今天就來分享幾個很簡單又有效的除錯密技。

... 繼續閱讀 ...

PowerCommands 在安裝 VS2008 SP1 後無法正常開啟頁面

其實我 Visual Studio 2008 Service Pack 1 已經安裝很久了,但不知何時開始我的 Visual Studio 只要開啟 *.aspx 或 *.master 檔案都會直接掛掉 ( 整個視窗不見 ),找來找去才發現原來是 PowerCommands 的關係,只要移掉就好了。不過 PowerCommands 這麼好用,我實在不忍心就這樣移除,最後也找到了解決方法。

... 繼續閱讀 ...

Web Deployment Project 如何自訂 AfterBuild 目標(VS2008)

在我上次介紹 Web Deployment Projects 的文章中有提到你可以自行修改 Web Deployment Project ( WDP ) 的專案檔( *.wdproj ) 的內容,因為此專案檔實際上是透過 MSBuild 編譯執行的,你可以自行擴充 BeforeBuild, BeforeMerge, AfterMerge, 或 AfterBuild 目標,不過當 WDP for VS2005 升級到 WDP for VS2008 時有做出一些調整,會導致有些自訂動作怎麼寫都不成功。

... 繼續閱讀 ...

使用超高效率的 NTrace 套件追蹤 .NET 程式執行效能與除錯

上週我親自跑去基隆處理一個程式問題,由於當場的環境缺乏檢測工具,且我們之前的程式 ( Windows 服務 ) 並沒有寫很多追蹤(Trace)的程式碼,只有將一些摘要資訊寫入 EventLog,導致在當場花了許多時間,而且最後還是沒有抓出問題,白白浪費了一個下午。

... 繼續閱讀 ...

如何將 Visual Studio 2008 的 prop 程式碼片段換成舊版的

我們常用的 prop 程式碼片段(Code Snippet)可以自動產生一組 Property 屬性的定義,從 Visual Studio 2005 就有了。由於 C# 3.0 新增了一個功能叫做 Automatic properties,可以簡化 Property 的定義語法,導致 Visual Studio 2008 預設的 prop 程式碼片段都被換成「新版」的了。雖然一開始覺得蠻方便的,但是當 Property 需要客製化調整的時候 ( 使用舊語法 ) 就反而變的礙手礙腳的。

... 繼續閱讀 ...

ASP.NET 網站部署可考慮使用 Web Deployment Project

Web Deployment Project (WDP) 是一個在 Visual Studio 外掛上去的專案類型,主要目的是提供你將現有 ASP.NET Website Project (網站專案) 或 ASP.NET Web Application Project (網站應用程式專案) 另一種部署網站的方式,讓你開發的網站在建置、封裝、部署時擁有更多的選項,也讓網站部署更加方便與自動化。

... 繼續閱讀 ...

如何利用 7-zip 設定自動解壓縮並解壓縮後自動啟動程式

我去年有弄一個 WinForm 的案子,案子完成後要給客戶安裝檔,程式還蠻簡單的,但除了主執行檔外,還有包括幾個相關的檔案,因為我不打算用 Setup Project 進行部署,而想直接做成「綠色軟體」,讓程式點兩下即可自動進行解壓縮並執行程式。那時就決定用 7-zip 來實做,因為真的容易很多,以下是當時的筆記。

... 繼續閱讀 ...