關於Installshield裏一些常見問題的解答

Q: 如何替換setup.exe的圖標?

A: 這不是一個推薦的操作,因爲可能會引起不可預見的錯誤,而且IS沒有開放這個接口。如果你堅持要這麼做,可以使用第三方軟件比如ExeScope來進行圖標替換。

Q: 如何去掉安裝界面左上方的Installshield Wizard字樣?

A: Installation Designer -> Installation Information -> General Information -> String Tables ->你使用的語言,右鍵-> Export String Tables導出爲文本文件,然後把裏面相應的“Installshield Wizard”字段替換成空白字符串即可。建議做好備份後再修改。

Q: 如何自定義每個安裝界面的標題或者說明文字?

A: Installation Designer -> Behavior and Logic -> InstallScript ->Setup.rul,沒有這個文件的話在file底下new一個,默認就是這個名字的,我是在Installscript msi類型下測試的,其他的可能略有不同。

在Setup.rul打開OnFirstUIBefore函數,這個函數裏面顯示出安裝過程中的所有界面,在需要修改的界面中把標題或者說明性文字賦值爲自己想要的值即可。

舉例:

Dlg_SdWelcome:

szTitle = "";

szMsg = "";

nResult = SdWelcome(szTitle, szMsg);

if (nResult = BACK) goto Dlg_SdWelcome;

szTitle = "";

svName = "";

svCompany = "";

szTitle就是安裝時候歡迎界面所顯示的標題,比如我改成szTitle=”歡迎使用XX軟件”這樣的形式即可。

Q: 如何在卸載時不要彈出”Modify, Repair, Remove”界面,而是點擊卸載後直接卸載掉?

A: 在Installation Designer->Behavior and Logic->InstallScrip中Setup.rul裏打開OnMaintUIBefore這個函數,找到Dlg_Start:,把這個框體包含的代碼全部註釋掉,也就是從Dlg_Start:到Dlg_SdFeatureTree:上面一行的內容全部去掉,並且添加一句nType = REMOVEALL;在Dlg_SdFeatureTree:前面,這樣就可以實現不出現那個“modify,repair, remove"的界面,而是直接進行刪除動作了。

Q: 我怎樣在目標機上安裝.NET,如果目標機上沒有安裝的話?

A: 在Release Wizard的倒數第三步將”Include or setup .NET framework”的選項勾上。

Q: 我如何調用第三方軟件?

A: 在Installation Designer -> Behavior and Logic -> InstallScript ->Setup.rul裏使用LaunchAppAndWait或者LaunchApp函數,至於寫在哪兒要看具體應用,比如可以寫在OnBegin, OnFirstUIBefore之類的函數體裏。例子請參閱我的另外一個文檔《一個完整的Installshield安裝程序—艾澤拉斯之海洋女神出品》,csdn有下載。或者你也可以加入installshield中文論壇官方QQ羣來獲取這份放在羣共享裏的文件。

在筆者寫這篇文檔的時候,有網友告訴我Installshield2009已經無需如此繁瑣地寫腳本了,而是有界面允許用戶自己指定一個註冊表鍵值,並指定需要安裝的軟件所在的路徑,當鍵值不存在的時候IS自動調用指定的軟件了,有興趣的朋友可以去研究下。

Q: 我如何調用bat文件?

A: 在Installation Designer -> Behavior and Logic -> InstallScript ->Setup.rul裏使用LaunchAppAndWait或者LaunchApp函數。

Q: 我如何爲自己的程序創建一個在開始菜單裏的卸載快捷方式?

A: 某些工程類型比如Installscript MSI自帶有這個選項,但是在08版本前都不推薦使用,因爲容易導致系統崩潰;寫腳本是一個不錯的解決方法。代碼如下,但是具體的詳細解釋請參考我的另外一個文檔《一個完整的Installshield安裝程序—艾澤拉斯之海洋女神出品》,csdn有下載。或者你也可以加入installshield中文論壇官方QQ羣來獲取這份放在羣共享裏的文件。

szfilename = UNINSTALL_STRING +" /UNINSTALL";

nresult = StrFind(szfilename,".exe");

if nresult >=0 then

StrSub(szmsg1,szfilename,0,nresult + 4);

StrSub(szmsg2,szfilename,nresult + 4,200);

LongPathToQuote(szmsg1, FALSE );

LongPathToQuote(szmsg2, FALSE );

szfilename = "/"" + szmsg1 + "/"" +szmsg2;

endif;

AddFolderIcon(FOLDER_PROGRAMS^"TEST","Uninstall",szfilename,WINDIR,"",0,"",REPLACE);

Q: 我如何修改“添加或刪除程序”裏我的軟件的卸載圖標?

A: Project Assisant -> Application Information,Select the icon to display your application in Add or Remove Program這項,點擊Browse選擇你想要的圖標即可。

海洋女神博客:http://www.cnblogs.com/Cindy_weiwei/archive/2009/05/19/1460267.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章