翻譯|使用教程|編輯:況魚(yú)杰|2019-11-01 13:58:45.893|閱讀 829 次
概述:現(xiàn)有一些用于修改默認(rèn)Windows Installer(MSI)文件傳輸行為以進(jìn)行安裝和卸載的技術(shù),但是如果使用InstallShield?進(jìn)行軟件安裝,則可以在InstallShield環(huán)境的組件視圖或安裝設(shè)計(jì)視圖中修改永不覆蓋設(shè)置。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
InstallShield是構(gòu)建Windows安裝程序和MSIX包并直接在Microsoft Visual Studio中創(chuàng)建安裝的最快速最簡(jiǎn)單的方法。借助InstallShield,您可以快速適應(yīng)行業(yè)的變化,更快地進(jìn)入市場(chǎng)并提供引人入勝的客戶(hù)體驗(yàn)。
修改MSI的文件傳輸行為
現(xiàn)有一些用于修改默認(rèn)Windows Installer(MSI)文件傳輸行為以進(jìn)行安裝和卸載的技術(shù):
使用永不覆蓋組件設(shè)置。
更改REINSTALLMODE屬性。
指定伴隨文件關(guān)系。
使用永久組件設(shè)置。
使用RemoveFile表刪除應(yīng)用程序創(chuàng)建的文件。
如果使用InstallShield?進(jìn)行軟件安裝,則可以在InstallShield環(huán)境的組件視圖或安裝設(shè)計(jì)視圖中修改永不覆蓋設(shè)置。如果將永不覆蓋組件屬性設(shè)置為是,則在目標(biāo)系統(tǒng)上已經(jīng)存在其密鑰文件的情況下,Windows Installer將跳過(guò)該組件的安裝。如果目標(biāo)系統(tǒng)上不存在組件的密鑰文件,則Windows Installer將遵循正常的文件覆蓋行為。
您可以使用REINSTALLMODE屬性來(lái)修改默認(rèn)的文件覆蓋行為。REINSTALLMODE屬性包含一個(gè)字符串,該字符串由表示應(yīng)該如何覆蓋文件的一組字母組成。默認(rèn)值為omus,其中o表示舊文件應(yīng)被新文件覆蓋,m和u表示應(yīng)重新安裝計(jì)算機(jī)和用戶(hù)注冊(cè)表數(shù)據(jù),而s則應(yīng)重新安裝快捷方式。
要修改文件覆蓋行為,可以將REINSTALLMODE值中的o替換為表示所需行為的另一個(gè)字母。一些可能的值是e,以覆蓋舊版本或同等版本的文件,或者a,覆蓋現(xiàn)有文件而不檢查其版本信息。
注意:REINSTALLMODE值不能僅限于組件或功能,而是適用于將要安裝的所有功能。
要修改REINSTALLMODE的值,通常在部署安裝時(shí)在命令行上設(shè)置該值。 由于REINSTALLMODE是公共屬性,因此可以在命令行上如下修改其值:
msiexec /i product.msi REINSTALLMODE=amus REINSTALL=ALL
(REINSTALL屬性包含要重新安裝的功能的逗號(hào)分隔列表,或用于重新安裝系統(tǒng)上已安裝的每個(gè)功能的特殊值A(chǔ)LL。)
調(diào)整文件覆蓋行為的另一種技術(shù)是使用伴隨文件,該文件將一個(gè)文件的覆蓋行為與另一個(gè)文件的行為相關(guān)聯(lián)。在運(yùn)行時(shí),如果安裝了伴隨文件關(guān)系的父級(jí),則將安裝子級(jí)而不考慮其與現(xiàn)有文件的版本關(guān)系。要建立伴隨文件關(guān)系,請(qǐng)為子級(jí)的Version數(shù)據(jù)輸入父級(jí)文件的File-table鍵。默認(rèn)情況下,文件的File-table鍵顯示在組件文件列表中屬性的最右邊(鍵)列中。
要在子代的版本信息中輸入父文件的File-table鍵,您可以使用文件的屬性面板,在右鍵單擊文件圖標(biāo)并選擇屬性時(shí)可以使用該面板。在屬性面板中,選中替代系統(tǒng)版本復(fù)選框,然后在版本字段中輸入所需的密鑰。
同樣,您可以使用直接編輯器視圖在文件表記錄的版本字段中輸入所需的鍵。
文件傳輸行為的另一個(gè)方面是產(chǎn)品的卸載程序。如果您將組件的Permanent屬性設(shè)置為Yes,則在卸載組件時(shí)不會(huì)刪除該組件的數(shù)據(jù)。默認(rèn)情況下,卸載產(chǎn)品時(shí),將刪除安裝所安裝的所有數(shù)據(jù)。
默認(rèn)情況下,產(chǎn)品的卸載將僅刪除原始安裝所安裝的文件。安裝完成后,由應(yīng)用程序創(chuàng)建的文件將不會(huì)自動(dòng)刪除。如果要?jiǎng)h除應(yīng)用程序創(chuàng)建的文件,可以將記錄添加到項(xiàng)目的RemoveFile表中。在RemoveFile表中,您可以指定在安裝或刪除給定組件時(shí)要?jiǎng)h除的其他文件。
InstallShield幫助文檔:
如果您想要購(gòu)買(mǎi)正版授權(quán)InstallShield,可以聯(lián)系咨詢(xún)相關(guān)問(wèn)題。
關(guān)注慧聚IT微信公眾號(hào)???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:Flexera