修改Screenweaver Uninstaller來支持中文Windows | (12-07-2003) |
Screenweaver被譽為最好的Flash桌面應用程式製作工具,它可以將Flash通過它的Builder轉成獨立執行的Exe、熒幕保護程式或者打包成Installer,讓使用者安裝Flash應用程式,可惜它打包出來的Installer,包括一個Uninstaller,當用Installer安裝好Flash應用程式後,Start Menu的Flash應用程式Folder會多了一個Uninstall的選項,利用它,理論上可以反安裝Flash應用程式,可惜這Uninstaller不支持中文Windows,單擊它後,出現的竟然又是Installer! 原來Builder轉成的Installer和Uninstaller是同一個文件,通過Uninstall後傳入一個參數Argument "/uninstall" 來分辨。打開Screenweaver安裝Folder下resources的install.fla,Layer initialization script的Frame 2,打開Action Panel,第48行: if( swApplication.getCmdLineArg(1) == "/uninstall" ) 在中文Windows執行下會產生的獨特問題,Uninstaller Path傳入來的參數不能夠用空白格分開,期間多了一些亂碼(例如:C:\DOCUME~1\luar\LOCALS~1\Temp\rd179.tmp|洱/uninstall|洱2464|洱),因此代碼不能夠認出參數"/uninstall",所以永遠沒有可能執行反安裝。 因此,我修改了這行代碼,直接用IndexOf找找有沒有"/uninst"這字符串來決定它是否反安裝,將這行代碼修改為: if (swApplication.getCmdLineArg().indexOf("uninst") != -1) 注意 注意 因此最後結合兩者的代碼在if中: if (swApplication.getCmdLineArg(1) == "/uninstall" or swApplication.getCmdLineArg().indexOf("uninst") != -1) 注意 |
|
本文章由發表。 |
意見 | |
沒有意見。 |
同組文章 |