一種安裝包的製作方法及裝置與流程
2023-05-08 12:02:01
本發明實施例涉及計算機應用
技術領域:
:,尤其涉及一種安裝包的製作方法及裝置。
背景技術:
::應用程式安裝包,通常為一個壓縮包,該壓縮包中包括安裝腳本以及和各種文件,如資源文件、配置文件以及可執行文件等。現有技術中,常用安裝包製作工具如nsis(NullsoftScriptableInstallSystem)或innosetup等來製作應用程式安裝包,這些製作工具本身支持製作靜默安裝包,即製作的安裝包可支持靜默安裝。但有時軟體開發者或公司會屏蔽靜默安裝,這時製作的安裝包便不支持靜默安裝。其中,靜默安裝又被稱為無人值守安裝,指的是安裝時無需任何用戶幹預,直接按默認設置安裝。然而,當用戶需要為多臺設備批量安裝應用軟體時,若該應用軟體的安裝包不支持靜默安裝,則用戶需要在每臺設備的安裝過程中進行監視與操作以完成該應用軟體在設備中的安裝,導致安裝效率低。技術實現要素:本發明提供一種安裝包的製作方法及裝置,以實現快速批量製作靜默安裝包,在為多臺設備批量安裝應用軟體時,提高安裝效率。第一方面,本發明實施例提供了一種安裝包的製作方法,該製作方法包括:獲取至少一個原始安裝包信息;將所述至少一個原始安裝包一一映射到對應的docker容器;安裝所述至少一個原始安裝包,並通過對應的docker容器記錄所述至少一個原始安裝包在安裝過程中的操作信息;根據所述至少一個原始安裝包在安裝過程中的操作信息生成所述至少一個原始安裝包對應的靜默安裝包。第二方面,本發明實施例還提供了一種安裝包的製作裝置,該製作裝置包括:安裝包獲取模塊,用於獲取至少一個原始安裝包信息;安裝包映射模塊,用於將所述至少一個原始安裝包一一映射到對應的docker容器;信息記錄模塊,用於安裝所述至少一個原始安裝包,並通過對應的docker容器記錄所述至少一個原始安裝包在安裝過程中的操作信息;靜默安裝包生成模塊,用於根據所述至少一個原始安裝包在安裝過程中的操作信息生成所述至少一個原始安裝包對應的靜默安裝包。本發明通過獲取至少一個原始安裝包;將至少一個原始安裝包一一映射到對應的docker容器;安裝至少一個原始安裝包,並通過對應的docker容器記錄至少一個原始安裝包在安裝過程中的操作信息;根據至少一個原始安裝包在安裝過程中的操作信息生成至少一個原始安裝包對應的靜默安裝包。在製作過程中無需系統還原等操作,且通過啟動不同的docker容器,可同時製作多個應用軟體的靜默安裝包,實現快速批量製作靜默安裝包,在為多臺設備批量安裝應用軟體時,提高安裝效率。附圖說明圖1是本發明實施例一中的一種安裝包的製作方法的流程圖;圖2是本發明實施例二中的一種安裝包的製作方法的流程圖;圖3是本發明實施例三中的一種安裝包的製作裝置的結構框圖。具體實施方式下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用於解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便於描述,附圖中僅示出了與本發明相關的部分而非全部結構。實施例一圖1為本發明實施例一提供的一種安裝包的製作方法的流程圖,本實施例可適用於需批量製作靜默安裝包的情況,該製作方法可以由安裝包的製作裝置來執行。參見圖1,本實施例提供的製作方法具體包括如下步驟:步驟110、獲取至少一個原始安裝包。其中,原始安裝包為不支持靜默安裝的安裝包。示例性的,當需要為區域網中的設備批量安裝office軟體和解壓縮軟體時,則需獲取office軟體和解壓縮軟體的安裝包,若獲取office軟體和解壓縮軟體的安裝包為不支持靜默安裝的安裝包,則可根據獲取的不支持靜默安裝的office軟體和解壓縮軟體的原始安裝包,分別製作其對應的靜默安裝包,從而在批量安裝應用軟體的過程中,無需用戶進行監控及操作,提高安裝的效率。獲取原始安裝包的方式有很多,如通過拷貝或網站下載等方式獲取原始安裝包,本發明對此不做限定。步驟120、將至少一個原始安裝包一一映射到對應的docker容器。主機中安裝有docker,通過docker可啟動多個docker容器。一般情況下,中等配置的主機,如具有8G內存、8核CPU及固態硬碟的主機可同時運行數十個docker容器,將獲取的原始安裝包一一映射至對應的docker容器中,則在生成的docker容器中可得到映射到該容器的原始安裝包,從而在每個docker容器中根據映射到該docker容器的原始安裝包製作其對應的靜默安裝包。步驟130、安裝至少一個原始安裝包,並通過對應的docker容器記錄至少一個原始安裝包在安裝過程中的操作信息。在啟動的docker容器中,安裝映射至該docker容器的原始安裝包,如在docker容器中打開原始安裝包,依次進行下述操作:點擊安裝、選擇安裝目錄、安裝組件、等待安裝及完成安裝,並記錄該原始安裝包安裝過程中的操作信息。示例性的,在需製作office軟體和解壓縮軟體兩個軟體的靜默安裝包時,可先啟動一個docker容器,並將office軟體的原始安裝包映射至該docker容器中,在該docker容器中安裝office軟體的原始安裝包,然後再啟動一個docker容器,將解壓縮軟體的原始安裝包映射至該docker容器中,在該docker容器中安裝解壓縮軟體的原始安裝包,從而分別在兩個docker容器中,根據office軟體和解壓縮軟體的原始安裝包,同時製作office軟體和解壓縮軟體的靜默安裝包。由於在製作安裝包時,需要純淨的系統環境,現有技術中的安裝包製作方法,在每次製作安裝包時,均需還原作業系統,以得到純淨的系統環境來製作安裝包,操作複雜,且製作效率較低,而本發明可直接在不同的docker容器中同時製作不同應用軟體或相同應用軟體的靜默安裝包,大大提高製作靜默安裝包的效率,從而在批量安裝應用軟體時,提高安裝的效率。優選的,操作信息包括:文件拷貝操作、註冊表寫入和刪除操作以及windows服務註冊和刪除操作。步驟140、根據至少一個原始安裝包在安裝過程中的操作信息生成至少一個原始安裝包對應的靜默安裝包。原始安裝包安裝完成後,根據記錄的每個安裝包在安裝過程中的操作信息,製作安裝腳本,並將原始安裝包在安裝過程中文件拷貝操作中的所有文件從原始安裝包中拷貝出來,安裝腳本與拷貝的文件構成靜默安裝包。由此,通過多個docker容器同時運行,可同時製作多個軟體的靜默安裝包,無需每次製作時進行系統還原操作,提高製作靜默安裝包的效率以及批量安裝應用軟體的效率。本發明實施例通過獲取至少一個原始安裝包;將至少一個原始安裝包一一映射到對應的docker容器;安裝至少一個原始安裝包,並通過對應的docker容器記錄至少一個原始安裝包在安裝過程中的操作信息;根據至少一個原始安裝包在安裝過程中的操作信息生成至少一個原始安裝包對應的靜默安裝包。在製作過程中無需系統還原等操作,且通過啟動不同的docker容器,可同時製作多個應用軟體的靜默安裝包,實現快速批量製作靜默安裝包,在為多臺設備批量安裝應用軟體時,提高安裝效率。實施例二圖2為本發明實施例二提供的一種安裝包的製作方法的流程圖。本實施例為在實施例一的基礎上進行優化,參見圖2,本實施例提供的製作方法具體包括如下步驟:步驟210、獲取至少一個原始安裝包。步驟220、獲取WindowsSeverCore鏡像。可從官方鏡像倉庫dockerhub中拉取WindowsSeverCore鏡像,以使得啟動的容器基於WindowsSeverCore鏡像,得到Windows系統的應用軟體的相關製作環境。步驟230、編寫docker容器的啟動腳本,其中啟動腳本中指定鏡像為windowsSeverCore鏡像。獲取WindowsSeverCore鏡像後,編寫docker容器的啟動腳本,並在編寫的啟動腳本中指定鏡像為WindowsSeverCore鏡像,從而在調用啟動腳本後,啟動的容器均為基於windowsSeverCore鏡像的容器,以便在啟動的docker容器中製作基於Windows系統的應用軟體的靜默安裝包。步驟240、將對應的原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾掛載到docker容器。在啟動腳本中將對應的原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾的目錄均掛載到docker容器,從而將原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾映射至啟動的docker容器中。優選的,還可設置有設置界面,界面中包括原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾的目錄設置窗口,還包括啟動、停止以及刪除docker容器的按鈕,則通過在設置界面中設置原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾的目錄,點擊啟動按鈕,可調用啟動腳本,將在設置界面中設置的原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾的目錄掛載至新啟動的docker容器中,從而在該docker容器中得到原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾;通過停止按鈕可調用容器的停止命令,停止正在運行的docker容器;通過刪除按鈕,可調用容器的刪除命令,刪除已生成的docker容器。從而通過設置界面,更加方便快捷地進行靜默安裝包的製作。步驟250、安裝至少一個原始安裝包,並通過對應的docker容器記錄至少一個原始安裝包在安裝過程中的操作信息。將在設置界面中設置的原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾的目錄掛載至生成的docker容器後,則在docker容器中可獲取到原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾,便可在docker容器中,安裝原始安裝包,掛載到docker容器中的靜默安裝包製作程序記錄原始安裝包在安裝過程中的操作信息。應用軟體安裝過程中,包括解壓、文件拷貝操作、註冊表寫入和刪除操作以及windows服務註冊和刪除操作。優選的,操作信息包括:文件拷貝操作、註冊表寫入和刪除操作以及windows服務註冊和刪除操作。260、根據至少一個原始安裝包在安裝過程中的操作信息在靜默安裝包生成文件夾中製作安裝腳本。270、將文件拷貝操作中的所有文件拷貝至靜默安裝包生成文件夾。原始安裝包安裝完成後,掛載至docker容器中的靜默安裝包製作程序根據記錄的安裝過程中的操作信息,製作安裝腳本,以在製作的靜默安裝包安裝過程中,根據安裝腳本可自動實現文件拷貝操作、註冊表寫入和刪除操作以及windows服務註冊和刪除操作,從而製作完成的靜默安裝包可支持靜默安裝,在其安裝過程中,無需用戶操作。安裝腳本製作完成後,靜默安裝包製作程序將文件拷貝操作中的所有文件拷貝至靜默安裝包生成文件夾中,以將靜默安裝包安裝過程中,需要的文件放入靜默安裝包生成文件夾。示例性的,記錄的文件拷貝操作信息中包括拷貝的文件及對應的目錄,則在靜默安裝包安裝過程中,根據安裝腳本可自動將對應的文件拷貝至對應的目錄中。280、將靜默安裝包生成文件夾打包為一個壓縮包。靜默安裝包製作程序在將安裝腳本製作完成並將文件拷貝操作中的所有文件拷貝至靜默安裝包生成文件夾後,將靜默安裝包生成文件夾打包為一個壓縮包,如通過安裝包製作工具nsis或其它壓縮軟體將靜默安裝包生成文件夾打包為一個壓縮包,則完成靜默安裝包的製作,在掛載至docker容器的靜默安裝包生成文件夾的目錄中即可獲得製作完成的靜默安裝包。優選的,完成靜默安裝包的製作後,對應的docker容器自動關閉和刪除。本發明實施例通過將對應的原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾的目錄均掛載到docker容器中,從而將原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾映射至對應的docker容器中,在docker容器中,靜默安裝包製作程序根據原始安裝包在安裝過程中的操作信息,在靜默安裝包生成文件夾中製作靜默安裝包,由此,可通過docker容器快速製作靜默安裝包,同時可通過多個docker容器的並行運行,製作多個應用程式的靜默安裝包,提高靜默安裝包的製作效率。實施例三圖3為本發明實施例三提供的一種安裝包的製作裝置的結構框圖,上述裝置用於實現上述實施例提供的安裝包的製作方法,該製作裝置包括安裝包獲取模塊310、安裝包映射模塊320、信息記錄模塊330和靜默安裝包生成模塊340,其中,安裝包獲取模塊310,用於獲取至少一個原始安裝包信息;安裝包映射模塊320,用於將所述至少一個原始安裝包一一映射到對應的docker容器;信息記錄模塊330,用於安裝所述至少一個原始安裝包,並通過對應的docker容器記錄所述至少一個原始安裝包在安裝過程中的操作信息;靜默安裝包生成模塊340,用於根據所述至少一個原始安裝包在安裝過程中的操作信息生成所述至少一個原始安裝包對應的靜默安裝包。上述方案中,可選的是,所述安裝包映射模塊包括:鏡像獲取單元,用於獲取WindowsSeverCore鏡像;腳本編寫單元,用於編寫docker容器的啟動腳本,其中所述啟動腳本中指定鏡像為所述windowsSeverCore鏡像;掛載單元,用於將對應的原始安裝包、靜默安裝包製作程序和靜默安裝包生成文件夾掛載到所述docker容器。上述方案中,可選的是,所述操作信息包括:文件拷貝操作、註冊表寫入和刪除操作以及windows服務註冊和刪除操作。上述方案中,可選的是,所述靜默安裝包生成模塊,包括:安裝腳本製作單元,用於根據所述至少一個原始安裝包在安裝過程中的操作信息在靜默安裝包生成文件夾中製作安裝腳本;文件拷貝單元,用於將所述文件拷貝操作中的所有文件拷貝至所述靜默安裝包生成文件夾。上述方案中,可選的是,文件夾打包模塊,用於將所述靜默安裝包生成文件夾打包為一個壓縮包。上述裝置可執行本發明實施例一和實施例二所提供的方法,具備執行上述方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節,可參見本發明實施例一和實施例二所提供的方法。注意,上述僅為本發明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發明不限於這裡所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護範圍。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限於以上實施例,在不脫離本發明構思的情況下,還可以包括更多其他等效實施例,而本發明的範圍由所附的權利要求範圍決定。當前第1頁1 2 3 當前第1頁1 2 3