大體理解VS2003打包的全過程與錯(cuò)誤的判斷
目前剛用VS2003進(jìn)行開發(fā),對于VS2003打包過程中出現(xiàn)的問題,在程序完成,進(jìn)行VS2003打包發(fā)布時(shí),突然發(fā)現(xiàn)用VS2003打包時(shí)出現(xiàn)了一個(gè)問題。先來看看VS2003時(shí)的做法:(兩種做法都是經(jīng)過本人的研究而成)
VS2003打包時(shí)加入卸載功能:
方法一:
1.在打包項(xiàng)目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2.在文件系統(tǒng)視圖中選擇應(yīng)用程序文件夾,在msiexec.exe上按右鍵,選擇創(chuàng)建快捷方式,重命名快捷方式為"卸載".
3.更改此快捷方式的Arguments 為"/x {產(chǎn)品id}",產(chǎn)品id的值為打包項(xiàng)目的ProductCode屬性值.
#t#方法二:(推薦)
1.先生成安裝包,記下ProductCode,下面要用到
2.用VS.net建立一個(gè)新的控制臺程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process = New Process
If System.Environment.OSVersion.ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改為自己的ProductCode
End If
myProcess.Close()
End Sub
End Module
3.將控制臺程序BIN目錄的exe文件加入到打包程序文件中,在程序組創(chuàng)建uninst.exe的快捷方式
在VS2003時(shí),本人一直是用方法一進(jìn)行打包,但是在VS2005下,用方法一是行不通的。出現(xiàn)問題如圖:
程序生成時(shí),會出現(xiàn)如圖所示錯(cuò)誤。(不知道為什么VS2003中可以,VS2005卻不可以,不知哪位大俠可以告知)。
所以VS2003打包過程中,只能用第二種方法來添加卸載的功能了。
把方法二中步驟二的代碼改寫成C#如下:
- static void Main(string[] args)
- {
- System.Diagnostics.Process.Start("msiexec", "/X{460247B2-5FF0-4AF7-B4BC-B8BA3025231B}");
- }