2010-07-28 131 views
1

我正在開發使用Installshield 2008入門版的軟件包,項目類型是Installscript MSI項目。如何防止Installshield刪除文件?

我現在面臨的問題是安裝我安裝的一些文件到以下位置時「C:\ Program Files文件\企業\ SystemFiles」從這個位置我正在複製並添加組文件到System32文件夾,它包含DLL和OCX文件,拷貝到使用Installscript的System32文件夾中。

由於此過程在卸載安裝的文件正在從System32中刪除,因爲這個其他依賴應用程序需要相同的一組DLL已停止工作。

我已經找到Installscript來將文件從ProgramFiles複製到System32文件夾,而不是使用內置選項,因爲我們在升級過程中遇到了問題,以免我使用Installscript。後文件拷貝到System32下使用的InstallScript像FILE_ATTR_SYSTEM其設置系統屬性 但仍文件卸載過程中不被刪除

即使我嘗試了好幾種解決方法,如設置文件屬性。

任何想法如何給文件屬性爲PERMENANTSHARED將這個去幫助,如果是,那麼使用INSTALLSCRIPT怎麼設置呢?

回答

1

我有兩個想法 1)我認爲你可以使用SHARED選項,因爲這不會在卸載時刪除文件。

2)另外,當我面臨類似的問題時,我所做的是將所有必需的文件放入安裝目錄本身,以便卸載只安裝的文件將被刪除(我知道這不是一個最佳的解決方案)

(注:我已經上安裝屏蔽大約6年前,所以要記住只有某些事情的來龍去脈)的安裝腳本

+0

感謝Raghu的幫助:)。 我已檢查SHARED選項,仍然存在問題.... – Chetan 2010-07-28 08:36:14

0

您還可以禁用日誌記錄。這將使安裝程序「忘記」它安裝了特定的文件組或功能。

您應該確保在複製了要永久保留在系統上的文件後再次啓用日誌記錄。

如果您在禁用之後不記得啓用日誌記錄,則卸載過程可能無法正常工作。

語法如下: 禁用(LOGGING);

//添加代碼將您的永久文件複製到此處 啓用(LOGGING);