Inno Setup真是一個(gè)不錯(cuò)的輕量級(jí)安裝程序。之所以使用這個(gè)軟件來(lái)做安裝包是因?yàn)閂isual Studio自帶那個(gè)竟然需要依賴(lài)于Dot Net Framework 2.0,而且圖形界面的東西用起來(lái)實(shí)在有的時(shí)候不知所云。Inno Setup就清爽多了。照著自帶的Example直接改改就可以把自己的程序打包發(fā)布了。
在使用Inno Setup的過(guò)程中,我遇到了一個(gè)安裝ocx控件的問(wèn)題,首先我不知道怎么安裝進(jìn)去,多方查找之后發(fā)現(xiàn)如下面設(shè)置就可以了:
[Files]
Source: "D:\\AAA\\AAA.ocx"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace regserver
關(guān)鍵在于后面要有regserver這個(gè)Flag.
搞定了安裝之后,發(fā)現(xiàn)在反安裝的時(shí)候我的ocx沒(méi)有被直接反安裝掉,讓我很郁悶。又找了一圈之后發(fā)現(xiàn)Inno Setup有[UninistallDelete]和[UninistallRun]這兩個(gè)Session可以用。如下面這樣寫(xiě):
[UninistallRun]
Filename: "regsvr32"; Parameters:"/u AAA.ocx"
[UninstallDelete]
Type: files; Name:"{sys}\\AAA.ocx"
就刪除并且unregister了。
就是這樣。