我有一個Installshield Installscript MSI安裝程序,我必須維護。它包含支持文件/廣告牌中的約10個文本文件。當安裝程序運行時,我在一個自定義INSTALLSCRIPT功能使用下面的代碼打開編輯/複印的文件:installshield 2012 SUPPORTDIR
的OpenFile(nvReadFileHandle,SUPPORTDIR,LOGGER_PRM)
此代碼已經非常完美了大概一千安裝,其中許多已經是安裝程序的確切版本。然後,昨天,它第一次失敗了。
看在MSI日誌後,我看到該文件被提取到:
%TEMP%\ 3 \ {GUID1} \ < - 忽略空間
當上述代碼執行時,在SUPPORTDIR的值是:
%TEMP%\ {GUID2} \ < - 忽略空間
此之前從未失敗。那麼爲什麼現在呢?我能做些什麼來解決它?當我谷歌問題時,我看到衝突的信息。考慮到這種情況,我寧願不做反覆試驗以獲得解決方案50次。
編輯:這裏有一些更多的信息。我發現我們安裝的服務器是虛擬機的克隆。我懷疑使用的環境變量是不正確的。如果我們輸入「cd%temp%」,它會轉到上面的第一個目錄。但是,如果我查看名爲TEMP的環境變量,它們都會引用上面的第二個目錄。