That's It!

請按左下角 Older Post 看較舊文章,搜尋出來的也可!

軟件介紹: PortableApps.com Launcher 免安裝版 — 軟體免安裝版製作工具

PortableApps.com Launcher — 軟體免安裝版製作工具。在數個月以前,站長也曾介紹過如何製作免安裝版軟體,不過那時則較著重使用 Application Virtualization (應用程序虛擬化) 的方法,而這個 PortableApps.com Launcher 的情況則有點不同了,是以移動檔案的原理來製作軟體的免安裝版的。雖然站長也弄了很久才明白如何使用的,不過也總算明白了,成功率也十分高,故在此分享。

官網: PortableApps.com Launcher — http://portableapps.com/apps/development/portableapps.com_launcher

其他載點:

2.2免安裝版: 載點1(mediafire) 載點2(hotfile) 載點3(uploading) 載點4(Droplr)

 

用法:

(1) 原理:

其實免安裝版的設計,主要是以把該應用程式製造出來的檔案保留到一個資料夾中,而非整個系統的不同資料夾。所以,要製作免安裝版,則只需要在啟動程式前,先把所須的檔案移動到適當位置,並備份原來在該電腦的檔案,然後才啟動程式。當程式關閉後,就把檔案移回主資料夾,然後把備份的檔案復原。

這就像在啟動程式前做了一次安裝,關閉後複製檔案,並解安裝一樣,當然過程會快很多。

 

(2) 開始

下載上面的自解壓縮檔,開啟後發現2個資料夾,其中 NSISPortable 不須要亂弄的,另一個 PortableApps.com Launcher 則是用作製造一個前導程式,以在啟動程式前後移動檔案及執行其他操作的。

先看看 PortableApps 軟體格式:

AppNamePortable:

+App

++AppInfo

+++Launcher

++AppName

+Data

++settings

++AppName

+Other (可有可無)

即是怎樣? 是 AppNamePortable 資料夾中包含著3個資料夾: App、Data 和 Other。

App 中放置了應用程式的檔案 (即是 %ProgramFiles% 內檔案),以及 PortableApps 啟動程式的設定。App 中有 AppInfo 及 %ProgramFiles% 內的應用程式資料夾 (即 AppName),AppInfo 中有一個 appinfo.ini,有檔案的圖示 appicon.ico,以及一個 Launcher 資料夾。

Data 中放置了應用程式的設定檔案。

Other 則放置其他檔案,可有可無,如果想令軟體大小再減少,那就可以不弄。

 

(3) 偵測應用程式所製造出的檔案

這步是十分重要的一步。我們要知道應用程式會在那裡放入檔案,這樣才可以知道要移動什麼檔案。

一般地要看 registry file (登錄檔) 和系統資料夾 (要看 %AppData%、%LOCALAPPDATA% (Win7) 或 %USERPROFILE%\Local Settings\Application Data (WinXP),當然可能會有其他檔案,建議可以用 CameyoRegScannerWise JetSearch)

當得出了檔案列表後,就可以在稍後工作。

 

(4) 開始製作

現在以 CoffeeZip 為例。CoffeeZip 把設定檔案放在 %AppData% 中,所以到了 %AppData% 則可以看到有一個叫 CoffeeZip 的資料夾。

首先建立 App 資料夾,App 中再建立 AppInfo 資料夾,以及複製 %ProgramFiles%\CoffeeZip 到 App 中,複製後 App 中有一個 CoffeeZip 資料夾。

AppInfo 中要放入一個圖示檔案。這個要是 CoffeeZip 的圖示,要提取圖示的話,可以用 IconsExtract (建議這個) 或 Resource Hacker 也可。提取出來的 *.ico 檔案要放入 AppInfo 中,並改名為 appicon.ico。

然後建立一個叫 appinfo.ini 的文字檔案。

內容是關於 CoffeeZip 這個應用程式的詳細資料。

[Format]
Type=PortableApps.comFormat
Version=3.0

[Details]
Name=CoffeeZip
AppID=CoffeeZipPortable
Publisher=
Homepage=
Category=Internet
Description=
Language=English

[License]
Shareable=
OpenSource=
Freeware=
CommercialUse=

[Version]
PackageVersion=
DisplayVersion=

[SpecialPaths]

[Control]
Icons=1
Start=CoffeeZipPortable.exe

[Associations]
FileTypes=
FileTypeCommandLine=-requestPending -osint -url “%1″
Protocols=http,https,ftp
ProtocolCommandLine=-requestPending -osint -url “%1″

這裡,[Format] 部分不要修改,[Details] 中輸入 CoffeeZip 的名稱,以及 PortableApps 啟動程式的名稱 (即 CoffeeZipPortable),其他可以不管的了 (最多只會影響在 PA.c Platform 中使用)。[License] 中輸入應用程式的授權,不知道的話其實也可以不管的了。[Version] 中填入應用程式的版本 (CoffeeZip 2.5 版),[Control] 中填入 Icons=1 及 Start=CoffeeZipPortable.exe,其他的是否輸入都沒有影響,其實也是一些資料而已。

接著返回最頂的 CoffeeZipPortable 資料夾,現在這資料夾中應只有 App。這時,在 CoffeeZipPortable 入面加入一個 Data 資料夾,和 App 處於同一層。Data 中建立 settings,以及複製 %AppData%\CoffeeZip 這個資料夾到 Data 中,這時 Data 資料夾中應有 CoffeeZip 及 settings 兩個資料夾。

 

(5) AppNamePortable.ini (launcher.ini)

接著這步是最重要的關鍵。

因為我們要建立一個啟動程式,從而啟動 CoffeeZip 及移動檔案,而這 AppNamePortable.ini 則是設定啟動程式要做的事情。

所以,我們先在 CoffeeZipPortable\App\AppInfo\Launcher 中建立 CoffeeZipPortable.ini。開始後則應輸入以下:

[Launch]
AppName=CoffeeZipPortable
ProgramExecutable=CoffeeZip\CoffeeZip.exe
SingleAppInstance=true
DirectoryMoveOK=yes

[DirectoriesMove]
CoffeeZip=%AppData%\CoffeeZip

首先是 [Launch] 部分。[Launch] 部分需要輸入要啟動的程式的位置。

AppName 是要輸入啟動程式的名稱 (即 CoffeeZipPortable)。

ProgramExecutable 是要啟動的應用程式的執行檔位置,預設在 App 資料夾內。

因為執行檔的位置是在 …\CoffeeZipPortable\App\CoffeeZip\CoffeeZip.exe,不過因為已預設了在 App 資料夾中,所以只須 CoffeeZip\CoffeeZip.exe 即可。

SingleAppInstance 指是否可以多開 (同時開啟同一個應用程式兩次),並和安裝版一同執行,建議最好不要,否則可能出現問題,故使用 true (即不能多開)。

DirectoryMoveOK 選 yes 即可,這是設定是否可以移動 AppNamePortable 資料夾。

 

接著是 [DirectoriesMove] 部分。這裡將指定了哪些資料夾要移動。

啟動時,等號左方的資料夾會變成右方的資料夾。注意,這並不是移動到右方位置,而是取代了右方,所以要輸入 %AppData%\CoffeeZip 而不是只是 %AppData%。

等號左方即是來源資料夾。來源資料夾預設了在 Data 資料夾內。我們把原來 %AppData%\CoffeeZip 放到 Data 中,這時我們要移動 …\CoffeeZipPortable\Data\CoffeeZip,所以只須輸入 CoffeeZip 即可。

如果原本電腦已安裝了 CoffeeZip,這時 PortableApps 啟動程式將會自動備份原來資料夾為 AppName.BackupByCoffeeZipPortable。例如: 原本 %AppData% 中已有 CoffeeZip 資料夾,啟動後原來 CoffeeZip 將重新命名為 CoffeeZip.BackupByCoffeeZipPortable,而 Data 資料夾內的的 CoffeeZip 資料夾將是 %AppData%\CoffeeZip,所以沒有問題。

當關閉了應用程式以後,PortableApps 啟動程式將會重新移動檔案。這會把右方的資料夾取代左方,即是把 %AppData%\CoffeeZip 取代 …\CoffeeZipPortable\Data\CoffeeZip。如果有 CoffeeZip.BackupByCoffeeZipPortable 資料夾的話將會重新命名回 CoffeeZip。

 

如果要移動單一檔案,則情況類似,不過這時就要加入 [FilesMove] 部分,不過等號左方就要是檔案名稱 (預設 Data 資料夾),等號右方則是目標資料夾 (例如: %LOCALAPPDATA%)。

例如: testfile.txt=%LOCAPAPPDATA%\Company

即使是 WinXP,PortableApps.com Launcher 仍是能辨識 %LOCALAPPDATA% 為 %USERPROFILE%\Local Settings\Application Data,所以沒有問題。

 

(6) 建立啟動程式

當啟動程式的設定全部設定好了,這時就可以建立啟動程式。

開啟 PortableApps.com Launcher\PortableAppsLauncher\PortableApps.comLauncherGenerator.exe。按 Next,選好路徑之後按 Go。當完成後,可直接按 Test Launcher,或是直接按 Finish 關閉後再在 CoffeeZipPortable 資料夾執行 CoffeeZipPortable.exe。

每次要開啟 CoffeeZip,只須按兩下 CoffeeZipPortable,然後 %AppData% 將出現 CoffeeZip 資料夾,關閉 CoffeeZip 後,%AppData%\CoffeeZip 將會移回 Data 資料夾中。

 

(7) 登錄檔 (registry files) 的處理

因為有時軟體會使用登錄檔,所以如果要攜帶設定,也是需要移動登錄檔的。

Toolsoft Audio Player 為例。開啟 regedit,看到 Toolsoft Audio Player 會把設定放在 HKCU\Software\Toolsoft Audio Player 中,所以這也要處理。

我們只須要修改 AppNamePortable.ini (即 …\Toolsoft Audio Player\App\AppInfo\Launcher\ToolsoftAudioPlayerPortable.ini) 即可。

ToolsoftAudioPlayerPortable.ini 內容如下:

[Launch]
AppName=Toolsoft Audio Player
ProgramExecutable=\Toolsoft\AudioPlayer.exe
DirectoryMoveOK=yes
SupportsUNC=yes

[Activate]
Registry=true

[RegistryKeys]
TAP=HKCU\Software\Toolsoft Audio Player

[Activate] 部分指定要要啟動的處理部分。因為登錄檔處理要特別指定才能啟動,所以要在 [Activate] 部分加入 Registry=true 才能啟動處理登錄檔。

注意如果改變了 [Activate] 部分的話,需要重新製作啟動程式 (launcher)。

 

接著在 [RegistryKeys] 部分輸入 AppName=Registry。等號右方指定了登錄檔的路徑 (HKCU 指 HKEY_CURRENT_USER)。因為登錄檔路徑是 HKEY_CURRENT_USER\Software\Toolsoft Audio Player,所以等號右方輸入 HKCU\Software\Toolsoft Audio Player 即可。

等號左方即輸入要儲存的 *.reg 檔名稱。啟動程式會自動把登錄檔存進 *.reg 檔案,並把檔案放到 Data\settings 資料夾中。像以上設定, Data\settings 資料夾將會加入 TAP.reg 檔案。

不過有時這樣處理登錄檔亦是可能有問題的。這是因為登錄檔可能會儲存到一個子資料夾。例如 Any Video Converter,雖然站長再沒有把這軟體製作真正可攜版,但如果試用,其實登錄檔會儲存在 HKCU\Software\AnvSoft\Any Video Converter 中。

 

當然我們可以直接移動 HKCU\Software\AnvSoft,不過卻有另一問題。因為 Any Video Converter 是由 AnvSoft 公司生產的,而 AnvSoft 亦是有生產其他軟體,這時如果有其他產品已安裝在電腦中,這可能產生問題,移動多了登錄檔。其實也可以直接只移動 HKCU\Software\AnvSoft\Any Video Converter,不過這樣的話,如果電腦沒有安裝 AnvSoft 產品的話,登錄檔中就會多出了一個空白的 AnvSoft 機碼,那麼就不是完全可攜了。所以,PortableApps.com Launcher 亦能清理空白的登錄檔機碼。

所以登錄檔部分要這樣寫:

[RegistryKeys]
AnyVideoConverter=HKCU\Software\AnvSoft\Anv Video Converter

[RegistryCleanupIfEmpty]
1=HKCU\Software\AnvSoft

當中等號左方數字1是先後次序。另外如果等號左邊改為使用減號「-」,登錄檔將被刪除而不是儲存回資料夾。

這樣就沒有問題了。

 

(8) FileWrite

FileWrite 可算是使用 PortableApps.com Launcher 製作免安裝版的其中一個大優點。

FileWrite 的作用是把文字檔內的文字,在啟動程式時修改。

例如: 大部分軟體均有儲存路徑的選擇,而上次使用過後的儲存路徑很有可能會儲存在設定檔中,令用家更易儲存檔案,不須重新選擇路徑。不過,遇上免安裝版軟體的資料夾移動,或是隨身碟在不同電腦中會變成不同的磁碟代號 (例如: 在電腦A中是 G:\,在電腦B可能會變了 H:\),這時便要預先在啟動軟體之前修改好路徑。

這裡先介紹四個環境變數,為 PortableApps.com Launcher 能辨別。

(1) %PAL:Drive% 及 %PAL:LastDrive%

(2) %PAL: PackagePartialDir% 及 %PAL:LastPackagePartialDir%

(3) %PAL:AppDir%

(4) %PAL:DataDir%

例如: 使用 FTPbox,上一次資料夾的位置為 G:\software\FTPbox2.4.6_Portable,現在位置為 H:\main file\software\FTPbox2.4.6_Portable

這時當第一次在 G:\ 中運行 FTPbox 時,其位置會在 FTPbox2.4.6_Portable\Data\settings\FTPboxPortableSettings.ini 中自動記錄。

這時 %PAL:Drive% 為 H:,%PAL:LastDrive% 為 G:,%PAL:PackagePartialDir% 為 \main file\software\FTPbox2.4.6_Portable,%PAL:LastPackagePartialDir% 為 \software\FTPbox2.4.6_Portable。

而 %PAL:AppDir% 則是 H:\main file\software\FTPbox2.4.6_Portable\App,%PAL:DataDir% 是 H:\main file\software\FTPbox2.4.6_Portable\Data。

而如果某些設定檔 (例如: 登錄檔) 會以 \\ 而非 \ 來表示下一層資料夾的話,則可以加上 :DoubleBackslash。例如: %PAL:PackagePartialDir:DoubleBackslash% 則是 \\main file\\software\\FTPbox2.4.6_Portable

 

整個資料夾通常可以用 %PAL:Drive%%PAL:PackagePartialDir% 來代表。

這時,以 FTPbox 為例,在 %PAL:DataDir% 內有一個檔案,profiles.conf 儲存了路徑,需要在轉換位置後更新,故此可在 FTPboxPortable.ini 中加入以下部分:

[FileWrite1]
Type=Replace
File=%PAL:DataDir%\profiles.conf
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir:DoubleBackslash%
Replace=%PAL:Drive%%PAL:PackagePartialDir:DoubleBackslash%

[FileWrite2]
Type=Replace
File=%PAL:DataDir%\profiles.conf
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\

其實還有一個叫 %PAL:PortableAppsBaseDir%,不過重要性其實不大。

(實際上應這樣寫才對)

[FileWrite1]
Type=Replace
File=%PAL:DataDir%\profiles.conf
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir:DoubleBackslash%\
Replace=%PAL:Drive%%PAL:PackagePartialDir:DoubleBackslash%\

[FileWrite2]
Type=Replace
File=%PAL:DataDir%\profile.conf
Find=%PAL:LastPortableAppsBaseDir%\
Replace=%PAL:PortableAppsBaseDir%\

[FileWrite3]
Type=Replace
File=%PAL:DataDir%\profiles.conf
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\

另一種較常見的做法是 INI 類別。

例如: 在 %PAL:DataDir% 中有一個檔案 software.ini,內容為 (只是舉例而已):

[General]

FirstRun=1
Save=G:\software
TempPath=C:\Documents and Settings\Administrator\Local Settings\Temp

[Advanced]
Portable=1

這時我們可以看見有兩處需要修改,包括 TempPath 及 Portable。由於 %TEMP% 在不同版本的 Windows 中路徑不同 (以上是 WinXP 的),所以要修改。另外因為需要免安裝,Portable 也必須確保為1。

故此,可以使用以下方法來修改:

[FileWrite1]
File=%PAL:DataDir%\software.ini
Type=INI
Section=General
Key=TempPath
Value=%TEMP%

[FileWrite2]
File=%PAL:DataDir%\software.ini
Type=INI
Section=Advanced
Key=Portable
Value=1

FileWrite 還有多3種模式,不過不太常用,所以只介紹到這裡。

 

(9) 其他

當然 PortableApps.com Launcher 其實也有其他功能可以設定的,不過也不是太要緊 (例如: Language)。請看 PortableApps.com 網頁的介紹:

http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini

 

(10) 測試軟體

其實這樣製作免安裝版軟體也是有著數種缺點的。首先,軟體啟動速度可能會比較慢,因為要先移動檔案。而最大的問題則是移動檔案時產生的問題。在沒有系統管理員權限的電腦,我們未必有足夠權限能移動檔案,特別是 %WINDIR% 等敏感位置,所以要再在不同電腦多作測試才可發行。另外,因為啟動程式會在關閉應用程式後才移動檔案,這樣的話則不太適宜把應用程式長駐在背景,或是隨開機時啟動,除非確定用家會在關閉電腦前關閉程式。

 

如有其他問題,也可以在這裡發問。

8 comments on “軟件介紹: PortableApps.com Launcher 免安裝版 — 軟體免安裝版製作工具

  1. Ivory
    2017/04/05

    Apasionada de las bodas, adicta a las redes sociales, emprendedora, siempre buscando
    nuevas ilusiones. http://gillsickyccoeu.blox.pl/2017/01/Article-Regalos-Para-Empresa-4.html

  2. 引用通告: 軟件介紹: XnConvert 免安裝版 — XnView 出產圖片批量處理工具 | That's It!

  3. 引用通告: 軟件介紹: Spotify 免安裝版 — 線上音樂聆聽軟體 | That's It!

  4. 引用通告: That’s It! 一週年紀念 | That's It!

  5. 引用通告: 軟件介紹: Riot 免安裝版 — 把圖片大小最佳化 | That's It!

  6. 引用通告: 軟件介紹: MWSnap 免安裝版 — 簡單的螢幕截圖軟體 | That's It!

  7. 引用通告: 軟件介紹: 3RVX 免安裝版 — 更方便的調整音量軟體 | That's It!

  8. 引用通告: 如何製作免安裝 (綠色版) 軟體? | That's It!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

Information

This entry was posted on 2013/06/13 by in 電腦軟件.

分類

Night

六月 2013
« 五月   七月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  
Dropbox 載點暫時掛了,請嘗試使用其他載點!

%d 位部落客按了讚: