前段時間忙了很久的系統總算上線了,由于是WinForm程式不能整個檔案夾的發給客戶使用。是以必須要打包,記得以前在VS2005中是自帶部署功能的。現在換了VS2013那個部署功能完全弄不清方向。最後在網上找了NSIS這個開源的安裝程式制作工具。翻看了一下它的說明,和網上的一些教程。最後打包出了一個個人認為還比較可以的安裝程式。其中主要遇到的兩個問題:
判斷作業系統是否安裝.NET
給安裝界面配上友好的皮膚
由于我的程式是用C#寫的,是以必需要判斷客戶機器上面是否安裝了.NET架構。使用NSIS解決如下:
在代碼中加上以下代碼:
<code>01</code>
<code>#-- 判斷.NET4.0是否安裝 --#</code>
<code>02</code>
<code>Function</code> <code>CheckFramework4</code>
<code>03</code>
<code> </code><code>;Clinet 和 Full存在一個都說明安裝了Framework</code>
<code>04</code>
<code> </code><code>ClearErrors</code>
<code>05</code>
<code> </code><code>ReadRegDWORD $0 HKLM </code><code>"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client"</code> <code>"Install2"</code>
<code>06</code>
<code>07</code>
<code>08</code>
<code> </code><code>IfErrors 0 ExitCheckFramework4</code>
<code>09</code>
<code> </code><code>ClearErrors</code>
<code>10</code>
<code> </code><code>ReadRegDWORD $0 HKLM </code><code>"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"</code> <code>"Install"</code>
<code>11</code>
<code>12</code>
<code> </code><code>;沒有安裝Framework</code>
<code>13</code>
<code> </code><code>MessageBox MB_OK </code><code>"裝程式無法檢測到.NET Framework V4.0 $\n請加QQ群:44329330 聯系群主進行安裝。"</code>
<code>14</code>
<code> </code><code>Abort</code>
<code>15</code>
<code>16</code>
<code>17</code>
<code> </code><code>ExitCheckFramework4:</code>
<code>18</code>
<code>FunctionEnd</code>
再在.onInit函數第一句裡面加上:“Call CheckFramework4”
OK,當你發給客戶安裝時如果客戶沒有安裝.net4.0那麼就會提示出該消息框。其實這裡還可以把.net也打包進去,但是那樣也比較麻煩。會導緻安裝包比較大。是以我采取的是聯系我們人工安裝。
轉http://www.fangsi.net/archives/809.html#6685007-sqq-1-85588-a3f995ad60ccf80e4739d0cda6e22fe3
QQ:519841366
本頁版權歸作者和部落格園所有,歡迎轉載,但未經作者同意必須保留此段聲明,
且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利