Linux下製作簡單的仿Windows安裝界面

←手機掃碼閱讀     火星人 @ 2014-03-25 , reply:0

安裝包特性:

  1、開始拷貝文件之前的操作都具有可逆性;
  2、具有「默認安裝」與「自定義安裝」兩種安裝方式可選;
  3、自動生成卸載腳本;
  4、安裝時能自動建立桌面快捷方式,卸載時能自動清除配置文件、遊戲存檔等軟體殘留文件。
  以下操作以在紅旗桌面版4.1下製作EVA-0.4.0的安裝包為例,需要讀者掌握編寫SPEC文件、建立與編輯桌面配置文件*.desktop、shell腳本編程、Xdialog方面的相關知識。

製作步驟:

  1、以root身份登錄系統,或者在普通用戶下以root許可權進行操作。
  2、獲取軟體編譯安裝后的目錄結構
  將軟體的源碼壓縮包放到/usr/src/redflag/SOURCES目錄下,在/usr/src/redflag/SPECS目錄下建立一個SPEC文件,例如eva.spec。內容為:
CODE:
%define prefix /usr
%define appsdir /usr/share/applnk/App/Internet
Name: eva
Summary: KDE環境下的QQ客戶端軟體
Version: 0.4.0
Release: rfdt4.1
Source0: %{name}-%{version}.tar.bz2
Group: Applications/Internet
BuildRoot: /tmp/build-root-%{name}
License: GPL
Url:
[url=http://www.linuxfans.org/downloads/]http://www.linuxfans.org/downloads/[/url]

Packager: your name
%description
Eva 是在KDE桌面下,基於Qt庫開發的軟體, ………
%prep
rm -rf %{buildroot}
%setup -n eva
%build
./configure --prefix=%{prefix}
make
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{appsdir}
make DESTDIR=$RPM_BUILD_ROOT install
cd $RPM_BUILD_ROOT
find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > $RPM_BUILD_DIR/file.list.%{name}
find . -type f | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name}
find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name}
%clean
%files -f ../file.list.%{name}
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS README README.zh
%changelog

  在終端進入/usr/src/redflag/SPECS目錄,執行:
CODE:
rpmbuild -bb eva.spec

  完成後,/tmp/build-root-eva目錄下就是EVA-0.4.0編譯安裝后的目錄結構,/usr/src/redflag/BUILD目錄下的file.list.eva文件是EVA-0.4.0編譯安裝后的文件列表。

3、配齊文件

  建立/tmp/evainstaller目錄,將
CODE:
installer-files.tar.bz2

  解壓后得到的installer-files文件夾里的所有文件都放到這個目錄里。
  將/tmp下的build-root-eva目錄拷貝到/tmp/evainstaller目錄,改名為eva-0.4.0,在/tmp/evainstaller/eva-0.4.0/usr/share/applnk/App/Internet下建立 EVA 的開始菜單(K菜單)項目,記得包括eva-uninstall.desktop(執行的命令為「/usr/share/doc/eva-0.4.0/uninstall.bin」)。
  為「軟體名-版本號-rfdt4.1-installer」和「軟體名-版本號-rfdt4.1-setup」這兩個文件改名,例如eva-0.4.0-rfdt4.1-installer和eva-0.4.0-rfdt4.1-setup,並建議一個軟體的桌面配置文件(建立桌面快捷方式的時候使用),例如eva.desktop。

4、修改eva-0.4.0-rfdt4.1-installer和eva-0.4.0-rfdt4.1-setup這兩個文件

  其中eva-0.4.0-rfdt4.1-installer需要修改的地方只有「name=」和「ver=」這兩個地方。
  而eva-0.4.0-rfdt4.1-setup需要修改的地方比較多,除了軟體名和版本號需要定義外,「選擇安裝類型的模塊」和「選擇安裝類型」需要修改文字說明;「默認安裝的模塊」和「自定義安裝的模塊」需要參照file.list.eva文件的內容來修改拷貝時的操作;「生成卸載腳本的模塊」需要修改刪除的文件和目錄;「安裝完畢給予提示的模塊」需要修改文字說明。

5、生成安裝包

  至此,相關文件已經準備完畢了,最好檢查一下,看看/tmp/evainstaller目錄下的文件是否是這些:
CODE:
custom_install.xpm eva-0.4.0-rfdt4.1-setup uninstall_complete.xpm warning.xpm
default_install.xpm eva.desktop uninstall.xpm
eva-0.4.0 install_type.xpm Xdialog
eva-0.4.0-rfdt4.1-installer the_end.xpm Xdialog.mo

  確認文件齊全后,將其壓縮,在終端進入/tmp/evainstaller目錄,執行:
CODE:
tar jcvf eva.tar.bz2 custom_install.xpm default_install.xpm eva-0.4.0 eva-0.4.0-rfdt4.1-setup eva.desktop install_type.xpm the_end.xpm uninstall_complete.xpm uninstall.xpm warning.xpm Xdialog Xdialog.mo

合成安裝包:
CODE:
cat eva-0.4.0-rfdt4.1-installer eva.tar.bz2 >eva-0.4.0-rfdt4.1-installer.bin
chmod +x eva-0.4.0-rfdt4.1-installer.bin

  現在雙擊eva-0.4.0-rfdt4.1-installer.bin就可以開始安裝了。




[火星人 ] Linux下製作簡單的仿Windows安裝界面已經有430次圍觀

http://coctec.com/docs/linux/show-post-155551.html