2010-10-15 26 views
1

我有一個只有16位安裝程序的舊遊戲(Westwood Monopoly CD-ROM),所以它不會在我的Windows 7 x64上運行。爲了解決這個問題,我決定使用Inno Setup來創建一個新的安裝程序。遊戲本身是32位的,但不支持LFN,並且可以在Vista/7上運行,但是如果我用Inno Setup構建的安裝程序沒有在Windows 95兼容性檢查下運行,遊戲就會崩潰。替換16位安裝程序,程序需要短文件名?

通過啓用兼容模式生成的文件夾與未選中兼容性設置生成的文件夾之間沒有文件或屬性差異。但是,遊戲只會在安裝了兼容模式的文件夾中運行,遊戲exe(Monopoly.exe)本身不能啓用任何兼容模式選項,或者遊戲在您嘗試保存,加載或選擇計算機ai之一時終止播放器文件。如果爲未安裝兼容模式而創建的文件夾中的Monopoly.exe打開兼容模式95,遊戲將加載,但由於上述原因將無法播放。

我的猜測是,Windows 95設置強制創建短文件名,而沒有它時,遊戲無法找到它的文件,因爲短文件名信息不存在。爲安裝程序設置兼容模式並不是理想的解決方案,因爲我需要能夠根據檢測到的Windows版本複製不同的exe(Aero會導致部分屏幕被切斷,因此我使用一個十六進制編輯的exe文件更大的默認大小)。

所以我的問題是這樣的:有沒有辦法強制Inno安裝程序創建短文件名信息,因爲它複製,或有一種方式來完成後添加命令(即修復損壞的文件夾所以遊戲可以找到它的文件)?

回答

1

據我所知,問題在於較新版本的Windows Installer和Windows本身不再支持使用短名稱。該財產已被逐步淘汰,截至(AFIK)Vista,它已經不再使用。如果您嘗試包含它們,大多數現代安裝程序技術都會給您一個錯誤。你有沒有試過看DosBox?這也可以讓你運行它而不需要特殊的安裝程序。

+0

遊戲是針對Windows的,DosBox將無濟於事。事實證明,這個問題與文件名無關,問題在於微軟的應用程序兼容性數據庫不一致地應用了Ignore Privileged Instruction兼容性修補程序。我甚至沒有聽說過這個,直到我搜索了Microsoft應用程序兼容性工具包5.6。 – user477276 2011-02-02 04:31:49

相關問題