天天看點

NSIS安裝程式制作工具判斷系統是否安裝.NET

前段時間忙了很久的系統總算上線了,由于是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

本頁版權歸作者和部落格園所有,歡迎轉載,但未經作者同意必須保留此段聲明,

且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利