TWI740393B - Application maintaining method - Google Patents
Application maintaining method Download PDFInfo
- Publication number
- TWI740393B TWI740393B TW109106038A TW109106038A TWI740393B TW I740393 B TWI740393 B TW I740393B TW 109106038 A TW109106038 A TW 109106038A TW 109106038 A TW109106038 A TW 109106038A TW I740393 B TWI740393 B TW I740393B
- Authority
- TW
- Taiwan
- Prior art keywords
- customized
- application
- electronic device
- stages
- installation
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本發明是有關於跨平台之一種應用程式維護方法。The invention relates to a cross-platform application program maintenance method.
隨著電腦以及智慧型電子裝置的大量應用,各種應用程式也隨之產生,客製化應用程式的需求也日益提昇。With the large number of applications of computers and smart electronic devices, various applications have also emerged, and the demand for customized applications has also increased.
一般來說,傳統的預設安裝工具集(如,Install Shield),可打包對應一個應用程式的多個源檔案,進而產生用以安裝所述應用程式的安裝程式。Generally speaking, the traditional default installation tool set (for example, Install Shield) can package multiple source files corresponding to an application, and then generate an installer for installing the application.
但是,傳統的預設安裝工作集僅能夠按照預定的安裝階段來安裝所述應用程式,但不能夠在安裝過程中設定/安裝對應於所安裝的應用程式的一些客製化功能。However, the traditional default installation work set can only install the application according to a predetermined installation stage, but cannot set/install some customized functions corresponding to the installed application during the installation process.
本發明提供一種應用程式維護方法,可插入多個客製化階段至應用程式安裝工具集的多個預設階段之間,以於執行所述安裝程式中的所述多個客製化階段時,安裝對應於所述輸入指令的多個客製化功能至一電子裝置。The present invention provides an application program maintenance method, which can insert multiple customization stages between multiple preset stages of an application program installation tool set, so as to execute the multiple customization stages in the installation program , Installing a plurality of customized functions corresponding to the input command to an electronic device.
本發明的一實施例所提供的應用程式維護方法,包括:辨識目標應用程式的多個源檔案及相關於所述多個源檔案的多個客製化資訊;辨識應用程式安裝工具集的多個預設階段,其中所述多個預設階段依據第一預定執行順序而執行;根據所述多個客製化資訊來插入多個客製化階段至所述多個預設階段之間,其中所述第一預定執行順序被改變為第二預定執行順序,並且所述多個預設階段與所述多個客製化階段依據所述第二預定執行順序而執行;經由所述應用程式安裝工具集,根據所述多個預設階段與所述多個客製化階段來打包所述多個源檔案,以產生所述目標應用程式的安裝程式;以及執行所述目標應用程式的所述安裝程式,以於執行所述安裝程式中的所述多個客製化階段時,反應於所接收的輸入指令,安裝對應於所述輸入指令的多個客製化功能至一電子裝置。The application maintenance method provided by an embodiment of the present invention includes: identifying a plurality of source files of a target application and a plurality of customized information related to the plurality of source files; identifying a plurality of application installation tool sets A preset stage, wherein the plurality of preset stages are executed according to a first predetermined execution sequence; insert a plurality of customization stages between the plurality of preset stages according to the plurality of customization information, The first predetermined execution sequence is changed to a second predetermined execution sequence, and the plurality of preset stages and the plurality of customized stages are executed according to the second predetermined execution sequence; via the application program An installation tool set, package the plurality of source files according to the plurality of preset stages and the plurality of customized stages to generate the installer of the target application; and execute all of the target application The installation program reacts to the received input commands when executing the multiple customization stages in the installation program, and installs multiple customized functions corresponding to the input commands to an electronic device.
在本發明的一實施例中,所述應用程式維護方法更包括:反應於所接收的另一輸入指令,移除所述電子裝置所安裝的所述目標應用程式的所述多個客製化功能,並且反安裝所述目標應用程式。In an embodiment of the present invention, the application maintenance method further includes: in response to another input command received, removing the plurality of customizations of the target application installed by the electronic device Function, and uninstall the target application.
在本發明的一實施例中,所述電子裝置包括一客戶端電子裝置、一遠端伺服器以及一本地伺服器中的其中之一,其中所述應用程式維護方法更包括:經由一靜默安裝方式來執行所述目標應用程式的所述安裝程式,以藉由一安裝伺服器所執行的另一應用程式,來遠端地安裝所述目標應用程式至所述客戶端電子裝置以及所述遠端伺服器中的其中之一;以及經由一本地安裝方式來執行所述目標應用程式的所述安裝程式,以從所述安裝伺服器經由所述安裝伺服器與所述本地伺服器之間的連接線來安裝所述目標應用程式至所述本地伺服器。In an embodiment of the present invention, the electronic device includes one of a client electronic device, a remote server, and a local server, wherein the application maintenance method further includes: via a silent installation Way to execute the installation program of the target application, so as to remotely install the target application to the client electronic device and the remote by another application executed by an installation server One of the end servers; and the installation program for executing the target application through a local installation method, so as to pass from the installation server through the installation server and the local server Connect the cable to install the target application to the local server.
在本發明的一實施例中,其中所述遠端伺服器經由網際網路連線至複數個客戶端電子裝置,其中所述本地伺服器經由區域網路連線至一個客戶端電子裝置。In an embodiment of the present invention, the remote server is connected to a plurality of client electronic devices via the Internet, and the local server is connected to a client electronic device via the local network.
在本發明的一實施例中,其中所述目標應用程式包括第一類型目標應用程式、第二類型目標應用程式以及第三類型目標應用程式。所述應用程式維護方法更包括:反應於辨識所安裝的所述電子裝置為所述客戶端電子裝置,安裝所述第一類型應用程式至所述客戶端電子裝置,其中所述第一類型應用程式具有多個第一客製化功能;反應於辨識所安裝的所述電子裝置為所述遠端伺服器,安裝所述第二類型應用程式至所述客戶端電子裝置,其中所述第二類型應用程式具有多個第二客製化功能;以及反應於辨識所安裝的所述電子裝置為所述本地電子裝置,安裝所述第三類型應用程式至所述客戶端電子裝置,其中所述第三類型應用程式具有多個第三客製化功能,其中安裝後的所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能彼此不完全相同。In an embodiment of the present invention, the target application includes a first type of target application, a second type of target application, and a third type of target application. The application program maintenance method further includes: responding to identifying that the installed electronic device is the client electronic device, installing the first type application to the client electronic device, wherein the first type application The program has a plurality of first customized functions; in response to identifying that the installed electronic device is the remote server, the second type of application is installed to the client electronic device, wherein the second Type application has a plurality of second customized functions; and in response to identifying that the installed electronic device is the local electronic device, installing the third type application to the client electronic device, wherein the The third type of application has a plurality of third customized functions, wherein the plurality of first customized functions, the plurality of second customized functions, and the plurality of third customized functions after installation The functions are not exactly the same as each other.
在本發明的一實施例中,其中所述多個第二客製化功能相較於所述多個第一客製化功能更具有一後端服務功能,其中所述多個第三客製化功能相較於所述多個第二客製化功能更具有一區域網路設定功能,其中所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能皆具有一對應所述目標應用程式的瀏覽器介面功能。In an embodiment of the present invention, wherein the plurality of second customized functions has a back-end service function compared to the plurality of first customized functions, wherein the plurality of third customized functions Compared with the plurality of second customized functions, there is a local area network setting function, wherein the plurality of first customized functions, the plurality of second customized functions, and the plurality of Each of the third customized functions has a browser interface function corresponding to the target application.
在本發明的一實施例中,其中所述後端服務功能包括下列功能的其中之一:一處理器執行功能,用以僅使用所述電子裝置的處理器來執行第一後端服務功能;以及一圖形處理器執行功能,用以僅使用所述電子裝置的圖形處理器來執行第二後端服務功能。In an embodiment of the present invention, the back-end service function includes one of the following functions: a processor execution function for executing the first back-end service function using only the processor of the electronic device; And a graphics processor performing function for performing the second back-end service function using only the graphics processor of the electronic device.
在本發明的一實施例中,其中所述電子裝置所執行的第一作業系統不同於開發所述多個源檔案的第二作業系統,其中經由應用程式安裝工具集所產生的所述目標應用程式的所述安裝程式能被執行在所述第一作業系統上。In an embodiment of the present invention, the first operating system executed by the electronic device is different from the second operating system for developing the multiple source files, and the target application generated by the application installation tool set The installation program of the program can be executed on the first operating system.
在本發明的一實施例中,其中所述第一作業系統為Windows作業系統,其中所述第二作業系統為Linux作業系統。In an embodiment of the present invention, the first operating system is a Windows operating system, and the second operating system is a Linux operating system.
在本發明的一實施例中,其中所述安裝程式被執行的所述多個客製化階段包括:一或多個客製化功能詢問階段,其中在執行所述安裝程式的所述一或多個客製化功能詢問階段中的每一個時,顯示對應的詢問視窗,以接收對應的第一輸入指令,進而根據所述第一輸入指令安裝對應的第一客製化功能;多個客製化安裝階段,用以安裝對應的多個第二客製化功能;以及多個客製化反安裝階段,用以移除所有的已安裝第一客製化功能與已安裝第二客製化功能。In an embodiment of the present invention, the multiple customization stages in which the installation program is executed include: one or more customized function inquiry stages, wherein the one or more stages of the installation program are executed. In each of the multiple customized function inquiry stages, the corresponding query window is displayed to receive the corresponding first input instruction, and then the corresponding first customized function is installed according to the first input instruction; multiple customers The customized installation stage is used to install the corresponding multiple second customized functions; and the multiple customized anti-installation stages are used to remove all the installed first customized functions and the installed second customized functions化 function.
基於上述,本發明的實施例所提供的應用程式維護方法,可插入多個客製化階段至應用程式安裝工具集的多個預設階段之間,根據所述多個預設階段與所述多個客製化階段來打包多個源檔案,以產生目標應用程式的安裝程式,進而執行所述目標應用程式的所述安裝程式,以於執行所述安裝程式中的所述多個客製化階段時,反應於所接收的輸入指令,安裝對應於所述輸入指令的多個客製化功能至電子裝置。如此一來,所述應用程式維護方法,可在安裝所述目標應用程式時,更安裝特定的多個客製化功能,以彈性地增加所述目標應用程式的功能,進而使所述電子裝置的功能可更貼近使用者的需求且增強安裝所述目標應用程式的所述電子裝置的工作效率。Based on the above, the application maintenance method provided by the embodiment of the present invention can insert multiple customized stages between multiple preset stages of the application installation tool set, and according to the multiple preset stages and the Multiple customization stages to package multiple source files to generate an installer of the target application, and then execute the installer of the target application to execute the multiple customizations in the installer During the transformation stage, in response to the received input instructions, multiple customized functions corresponding to the input instructions are installed to the electronic device. In this way, the application maintenance method can install a plurality of specific customized functions when the target application is installed, so as to flexibly increase the functions of the target application, thereby enabling the electronic device The function of is closer to the needs of users and enhances the work efficiency of the electronic device that installs the target application.
圖1是根據本發明的一實施例所繪示的電子裝置與安裝伺服器的方塊示意圖。請參照圖1,在本實施例中,電子裝置10包括處理器110、輸入/輸出單元120、主記憶體130、儲存單元140及通訊單元150。處理單元110耦接至輸入/輸出單元120、主記憶體130、儲存單元140及通訊單元150。此外,安裝伺服器20包括處理器210、輸入/輸出單元220、主記憶體230、儲存單元240及通訊單元250。處理單元210耦接至輸入/輸出單元220、主記憶體230、儲存單元240及通訊單元250。在本實施例中,所述電子裝置10與所述安裝伺服器20之間,可經由通訊單元150與通訊單元250所建立的連線C1來傳輸資料。所述電子裝置10包括下列型態的電子裝置的其中之一:客戶端(Client Terminal)電子裝置、遠端伺服器(Remote Sever)、以及本地伺服器(Local Sever)。所述電子裝置例如是個人電腦、筆記型電腦、平板電腦、智慧型手機、智慧型行動裝置等。FIG. 1 is a block diagram of an electronic device and an installation server according to an embodiment of the invention. Please refer to FIG. 1, in this embodiment, the
在本實施例中,處理器110或210為具備運算能力的硬體(例如晶片組、處理器等),用以管理電子裝置10或安裝伺服器20的整體運作。在本實施例中,處理器110、210例如是一核心或多核心的中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Programmable processor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置。In this embodiment, the
輸入/輸出單元120及220用以接收使用者的輸入操作,以及輸出影像。輸入/輸出單元120及220例如是觸控螢幕,或是螢幕與輸入裝置(如,滑鼠、鍵盤或/及觸控板)的組合。The input/
主記憶體130、230分別用以接收處理器110、210的指示來暫存資料。主記憶體130及230例如是任意形式的固定式或可移動式隨機存取記憶體(random access memory,RAM)或其他類似裝置、積體電路及其組合。The
儲存單元140、240可記錄一些需要長時間儲存的資料。例如,用以運行電子裝置的韌體、作業系統、多種應用程式、多種檔案(如,對應目標應用程式的多個源檔案)或軟體(如,應用程式安裝工具集、應用程式維護程式碼)。儲存單元140、240例如是任何形式的非揮發性記憶體(如,硬碟、固態硬碟、快閃記憶體模組)或其他類似的裝置、積體電路及其組合。The
通訊單元150、250用以透過無線通訊的方式來傳輸或是接收資料。在本實施例中,通訊單元150、250可具有一無線通訊電路模組(未繪示),並支援全球行動通信(Global System for Mobile Communication,GSM)系統、個人手持式電話系統(Personal Handy-phone System,PHS)、碼多重擷取(Code Division Multiple Access,CDMA)系統、無線相容認證(Wireless Fidelity,WiFi)系統、全球互通微波存取(Worldwide Interoperability for Microwave Access,WiMAX)系統、第三代無線通信技術(3G)、第四代無線通信技術(4G)、第五代無線通信技術(5G)、長期演進技術(Long Term Evolution, LTE)、藍芽(Bluetooth)通訊技術的其中之一或其組合,且不限於此。The
除此之外,通訊單元150、250也可具有一有線通訊電路模組(如,網路介面卡),並透過有線通訊的方式來傳輸或是接收資料。另外,在本實施例中,通訊單元150、250亦可建立網路連線,以使所述電子裝置10、安裝伺服器20連接至網際網路或區域網路。應注意的是,在本實施例中,電子裝置10以及安裝伺服器20之間亦可透過通訊單元150與250所建立的連線C1來傳輸資料給彼此。在本實施例中,處理器210可透過所述連線C1來傳輸相關的資料給電子裝置10,以安裝目標應用程式至電子裝置10。此外,所述處理器210更用以存取且執行應用程式維護程式碼於所述主記憶體230中,以實現本實施例所提供的應用程式維護方法。In addition, the
圖2是根據本發明的一實施例所繪示的應用程式維護方法的流程圖。請參照圖2,在步驟S210中,處理器210辨識目標應用程式的多個源檔案及相關於所述多個源檔案的多個客製化資訊。FIG. 2 is a flowchart of an application program maintenance method according to an embodiment of the present invention. Referring to FIG. 2, in step S210, the
具體來說,所述目標應用程式例如是安裝伺服器20欲安裝至電子裝置10的應用程式。所述多個源檔案為相關於所述目標應用程式的安裝操作所需要的檔案,並且所述多個源檔案可預先被產生或儲存於儲存單元240中。所述多個客製化資訊例如是相關於多個客製化階段的源檔案、元資料、介面等。換句話說,在執行安裝程式的客製化階段時,處理器210會利用所對應的客製化資訊所包含的元資料、介面產生相應的使用者介面或顯示畫面,並且執行下列操作的一或多者:(1)反應於所接收的輸入指令安裝對應輸入指令的源檔案;(2)直接安裝對應所述客製化階段的源檔案(如,安裝相關於所述目標應用程式的介面或瀏覽器);(3)驗證所安裝的電子裝置是否為有效(如,檢查電子裝置的作業系統的版本;檢查電子裝置中的特定硬體的功能是否正常);(4)設定對應所述客製化階段的客製化功能。所述客製化功能包括:調整/更新電子裝置的網路設定(如,開啟/關閉防火牆;建立/移除DHCP服務)、安裝特定的資料庫;(5)反安裝所述目標應用程式、移除所有的已經安裝/設定的客製化功能。此外,處理器210更可根據所述多個客製化資訊來得知欲被插入至所述目標應用程式的安裝程式的多個客製化階段的順序。Specifically, the target application program is, for example, an application program to be installed on the
應注意的是,所述檢查電子裝置中的特定硬體的功能是否正常的操作例如是:假設目標應用程式為控制電子裝置中的特定硬體的一種應用程式,所述目標應用程式的安裝程式中的一個客製化階段可根據檢查/驗證所述特定硬體的全部功能或部份功能的結果來判斷所述特定硬體是否正常。It should be noted that the operation of checking whether the function of the specific hardware in the electronic device is normal is, for example, assuming that the target application is an application that controls the specific hardware in the electronic device, and the installation program of the target application is One of the customization phases in the process can determine whether the specific hardware is normal based on the result of checking/verifying all or part of the specific hardware.
在步驟S220中,處理器210辨識應用程式安裝工具集的多個預設階段,其中所述多個預設階段依據第一預定執行順序而執行。舉例來說,所述應用程式安裝工具集例如是WiX(Windows Installer XML)工具集。處理器210可辨識WiX工具集所預先設定的多個安裝階段(即,多個預設階段)的順序(亦稱,第一預定執行順序)以及分配所述目標應用程式中的所述多個源檔案至所述多個安裝階段。In step S220, the
接著,在步驟S230中,處理器210根據所述多個客製化資訊來插入多個客製化階段至所述多個預設階段之間,其中所述第一預定執行順序被改變為第二預定執行順序,並且所述多個預設階段與所述多個客製化階段依據所述第二預定執行順序而執行。具體來說,在本實施例中,處理器210可根據所述多個客製化資訊來得知欲被插入至所述目標應用程式的安裝程式的多個預設階段的多個客製化階段的位置。例如,處理器210可插入一或多個客製化階段至兩個預設階段之間、插入一或多個客製化階段至一個預設階段之前、或插入一或多個客製化階段至一個預設階段之後,以在插入所有客製化階段後獲得所述第二預定執行順序(第一預定執行順序會因被插入的多個客製化階段而被改變為第二預定執行順序)。Then, in step S230, the
在本實施例中,所述安裝程式被執行的所述多個客製化階段包括一或多個客製化功能詢問階段、多個客製化安裝階段以及多個客製化反安裝階段。所述一或多個客製化功能詢問階段用以在執行所述安裝程式的所述一或多個客製化功能詢問階段中的每一個時,顯示對應的詢問視窗,以接收對應的第一輸入指令,進而根據所述第一輸入指令安裝對應的第一客製化功能。所述多個客製化安裝階段用以安裝對應的多個第二客製化功能。所述多個客製化反安裝階段用以移除所有的已安裝第一客製化功能與已安裝第二客製化功能。In this embodiment, the multiple customization stages during which the installation program is executed include one or more customized function inquiry stages, multiple customized installation stages, and multiple customized anti-install stages. The one or more customized function inquiry stages are used to display a corresponding inquiry window when executing each of the one or more customized function inquiry stages of the installation program to receive the corresponding first An input instruction, and then install the corresponding first customized function according to the first input instruction. The multiple customized installation stages are used to install corresponding multiple second customized functions. The multiple customized anti-installation stages are used to remove all installed first customized functions and installed second customized functions.
接著,在步驟S240中,處理器210經由應用程式安裝工具集,根據所述多個預設階段與所述多個客製化階段來打包所述多個源檔案,以產生所述目標應用程式的安裝程式。具體來說,處理器210可利用應用程式安裝工具集來根據所述第二預定執行順序排列的所述多個預設階段與所述多個客製化階段來分別打包分別對應至所述多個預設階段與所述多個客製化階段的源檔案,以產生最終的所述目標應用程式的安裝程式。當所述安裝程式被執行時,執行所述安裝程式的處理器210或處理器110可根據所述第二預定執行順序來依序執行所述多個預設階段與所述多個客製化階段,以依序安裝對應的源檔案及安裝/設定對應的客製化功能。Then, in step S240, the
即,在步驟S250中,處理器210或處理器110執行所述目標應用程式的所述安裝程式,以於執行所述安裝程式中的所述多個客製化階段時,反應於所接收的輸入指令,安裝對應於所述輸入指令的所述目標應用程式的多個客製化功能至一電子裝置。That is, in step S250, the
應注意的是,在本實施例中經由所述應用程式安裝工具集所產生的安裝程式可支援靜默安裝(亦稱,遠端安裝)。It should be noted that the installation program generated by the application installation tool set in this embodiment can support silent installation (also known as remote installation).
具體來說,在本實施例中,安裝所述目標應用程式的方法包括:(1)靜默安裝方式,即,經由一靜默安裝方式來執行所述目標應用程式的所述安裝程式,以藉由一安裝伺服器所執行的另一應用程式,來遠端地安裝所述目標應用程式至所述客戶端電子裝置以及所述遠端伺服器中的其中之一;以及(2)本地安裝方式,即,經由一本地安裝方式來執行所述目標應用程式的所述安裝程式,以從所述安裝伺服器經由所述安裝伺服器與所述本地伺服器之間的連接線來安裝所述目標應用程式至所述本地伺服器。Specifically, in this embodiment, the method for installing the target application includes: (1) Silent installation, that is, executing the installer of the target application through a silent installation method, by An installation server executes another application program to remotely install the target application program to one of the client electronic device and the remote server; and (2) a local installation method, That is, the installation program of the target application is executed through a local installation method to install the target application from the installation server through the connection line between the installation server and the local server Program to said local server.
此外,在一實施例中,所述本地伺服器也可經由所述本地安裝方式來執行所述目標應用程式的所述安裝程式,以從所述本地伺服器中所儲存的所述安裝程式,經由所述本地伺服器與所述客戶端電子裝置之間的網路連接或連接線來安裝所述目標應用程式至所述客戶端電子裝置。In addition, in one embodiment, the local server may also execute the installer of the target application through the local installation method, so as to download the installer from the installer stored in the local server, The target application is installed to the client electronic device via a network connection or connection line between the local server and the client electronic device.
針對靜默安裝的方式,舉例來說,在處理器210產生所述安裝程式後,所述安裝程式可被儲存在儲存單元240中。處理器210可透過所執行的另一應用程式(如,雲端管理程式)與客戶端電子裝置(或遠端伺服器)所執行的所述另一應用程式透過網路連線(如,經由網際網路或本地網路)溝通,以直接由安裝伺服器20經由執行所述安裝程式來安裝所述目標應用程式至客戶端電子裝置(或遠端伺服器)中。又例如,處理器210可透過所執行的另一應用程式(如,雲端管理程式)與客戶端電子裝置(或遠端伺服器)所執行的所述另一應用程式透過網路連線(如,經由網際網路或本地網路)溝通,以傳輸所儲存的所述安裝程式至客戶端電子裝置(或遠端伺服器)。處理器110可儲存所接收的所述安裝程式,並且可直接(或於預定的排程時間)來執行所述安裝程式。應注意的是,上述執行所述安裝程式的過程可在客戶端電子裝置(或遠端伺服器)的背景自動地被執行,以經由靜默安裝的方式,來安裝所述目標應用程式至電子裝置10。在一實施例中,所述雲端管理程式例如是宏碁的智雲體管理系統(Being Device Management,BDM)。For the silent installation method, for example, after the
針對本地安裝的方式,舉例來說,在處理器210產生所述安裝程式後,所述安裝程式可被儲存在儲存單元240中。處理器210可透過與本地伺服器之間所建立的連線C1來傳輸所述安裝程式至本地伺服器。本地伺服器的處理器110在接收到所述安裝程式後,可執行所述安裝程式,以經由本地安裝的方式,來直接安裝所述目標應用程式至客戶端電子裝置。又例如,本地伺服器在與客戶端電子裝置建立連線後,可執行所儲存的所述安裝程式,以經由本地安裝的方式,來直接安裝所述目標應用程式至客戶端電子裝置。For the local installation method, for example, after the
值得一提的是,在本實施例中,所述遠端伺服器可經由網際網路連線至複數個客戶端電子裝置,並且所述本地伺服器可經由區域網路連線至一個客戶端電子裝置。It is worth mentioning that in this embodiment, the remote server can be connected to a plurality of client electronic devices via the Internet, and the local server can be connected to a client via the local network. Electronic device.
應注意的是,在執行所述安裝程式的過程中,反應於所接收的另一輸入指令,處理器210或處理器110可移除所述電子裝置所安裝的所述目標應用程式的所述多個客製化功能,並且反安裝所述目標應用程式。具體來說,在執行安裝程式的過程中,會於一程序分岔點來經由輸入/輸出單元120顯示一安裝/反安裝詢問介面,以根據接收所述另一輸入指令,來判定執行對應安裝程序的多個第一預設階段與多個第一客製化階段,或是執行對應反安裝程序的多個第二預設階段與多個第二客製化階段,其中所述多個第一預設階段與所述多個第二預設階段不完全相同,並且所述多個第一客製化階段與所述多個第二客製化階段不完全相同。It should be noted that in the process of executing the installation program, in response to another input command received, the
另一方面,在本實施例中,根據所欲安裝的電子裝置的類型,被安裝的目標應用程式可區分為第一類型目標應用程式、第二類型目標應用程式以及第三類型目標應用程式。即,安裝在不同類型的電子裝置中的目標應用程式會不同。更具體來說,反應於辨識所安裝的所述電子裝置為所述客戶端電子裝置,安裝所述第一類型應用程式至所述客戶端電子裝置,其中所述第一類型應用程式具有多個第一客製化功能;反應於辨識所安裝的所述電子裝置為所述遠端伺服器,安裝所述第二類型應用程式至所述客戶端電子裝置,其中所述第二類型應用程式具有多個第二客製化功能;以及反應於辨識所安裝的所述電子裝置為所述本地電子裝置,安裝所述第三類型應用程式至所述客戶端電子裝置,其中所述第三類型應用程式具有多個第三客製化功能,其中安裝後的所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能彼此不完全相同。On the other hand, in this embodiment, according to the type of electronic device to be installed, the target application to be installed can be divided into a first type of target application, a second type of target application, and a third type of target application. That is, the target applications installed in different types of electronic devices will be different. More specifically, in response to identifying that the installed electronic device is the client electronic device, the first type of application is installed on the client electronic device, wherein the first type of application has a plurality of The first customization function; responding to identifying that the installed electronic device is the remote server, installing the second type of application to the client electronic device, wherein the second type of application has A plurality of second customized functions; and in response to identifying that the installed electronic device is the local electronic device, installing the third type of application to the client electronic device, wherein the third type of application The program has a plurality of third customized functions, wherein the plurality of first customized functions, the plurality of second customized functions, and the plurality of third customized functions after installation are not complete with each other same.
此外,在本實施例中,所述多個第二客製化功能相較於所述多個第一客製化功能更具有一後端服務功能,並且所述多個第三客製化功能相較於所述多個第二客製化功能更具有一區域網路設定功能,其中所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能皆具有一對應所述目標應用程式的瀏覽器介面功能。換言之,已安裝所述目標應用程式的所述客戶端電子裝置、所述遠端伺服器與所述本地伺服器皆具有瀏覽器介面功能;已安裝所述目標應用程式的所述遠端伺服器與所述本地伺服器皆具有後端服務功能;僅已安裝所述目標應用程式的所述本地伺服器具有區域網路設定功能。In addition, in this embodiment, the plurality of second customized functions has a back-end service function more than the plurality of first customized functions, and the plurality of third customized functions Compared with the plurality of second customized functions, there is a local area network setting function, wherein the plurality of first customized functions, the plurality of second customized functions, and the plurality of second customized functions The three customized functions all have a browser interface function corresponding to the target application. In other words, the client electronic device, the remote server, and the local server on which the target application has been installed all have a browser interface function; the remote server on which the target application has been installed Both the local server and the local server have a back-end service function; only the local server on which the target application has been installed has a local network setting function.
更詳細來說,所述後端服務功能包括下列功能的其中之一:處理器(CPU)執行功能,其用以僅使用所述電子裝置的處理器來執行第一後端服務功能;以及圖形處理器(GPU)執行功能,其用以僅使用所述電子裝置的圖形處理器來執行第二後端服務功能。應注意的是,當電子裝置10(如,本地伺服器或遠端伺服器)同時具備有處理器與圖形處理器時,於執行安裝程式的過程中,處理器210或110可藉由使用者所施加的輸入指令來判定安裝所述處理器執行功能或所述圖形處理器執行功能至電子裝置10中。若電子裝置10僅具有處理器,於執行安裝程式的過程中,處理器210或110會直接安裝所述處理器執行功能。In more detail, the back-end service function includes one of the following functions: a processor (CPU) execution function for executing the first back-end service function using only the processor of the electronic device; and graphics A processor (GPU) performs a function, which is used to perform a second back-end service function using only the graphics processor of the electronic device. It should be noted that when the electronic device 10 (such as a local server or a remote server) has both a processor and a graphics processor, the
此外,所述區域網路設定功能例如是於所建立的區域網路的網域中,安裝DHCP(Dynamic Host Configuration Protocol)伺服器至所述本地伺服器,以對所連線的客戶端電子裝置進行管理。In addition, the local area network setting function is, for example, installing a DHCP (Dynamic Host Configuration Protocol) server to the local server in the established local area network domain, so as to communicate with the connected client electronic device To manage.
此外,所述瀏覽器介面功能例如是超文本傳輸協定(HTTP)伺服器軟體:Apache HTTP Server software。所述瀏覽器介面功能可透過顯示於電子裝置中的工具列的對應所述目標應用程式的縮圖被呼叫。In addition, the browser interface function is, for example, Hypertext Transfer Protocol (HTTP) server software: Apache HTTP Server software. The browser interface function can be called through the thumbnail corresponding to the target application program displayed in the toolbar of the electronic device.
值得一提的是,在本實施例中,應用程式安裝工具集可透過與微軟所開發的Visual Studio整合,來達到跨平台的效用。具體來說,所述電子裝置所執行的第一作業系統(如,Windows)不同於開發所述多個源檔案的第二作業系統(如,Linux),其中經由應用程式安裝工具集所產生的所述目標應用程式的所述安裝程式(包含已打包的所述多個源檔案)能被執行在所述第一作業系統上。It is worth mentioning that, in this embodiment, the application installation tool set can be integrated with Visual Studio developed by Microsoft to achieve cross-platform utility. Specifically, the first operating system (e.g., Windows) executed by the electronic device is different from the second operating system (e.g., Linux) that develops the plurality of source files, and the one generated by the application installation tool set The installation program (including the packaged source files) of the target application can be executed on the first operating system.
圖3A是根據本發明的一實施例所繪示的應用程式安裝工具集依據第一預定執行順序排列的多個預設階段的示意圖。請參照圖3A,舉例來說,假設處理器210已辨識應用程式工具集的依據一第一預定執行順序排列的多個預設階段311~317,根據多個客製化資訊辨識出多個客製化階段411、421、422、423、424、431、432及所述多個客製化階段411、421、422、423、424、431、432應被插入所述多個預設階段311~317的順序/位置。在此例子中,所述多個預設階段311~317包括被劃分至安裝程序IP0的多個預設安裝階段312~316以及被劃分至反安裝程序UIP0的預設反安裝階段317。此外,所述多個客製化階段411~432包括被劃分至安裝程序IP0的客製化功能詢問階段411、客製化安裝階段421~424以及被劃分至反安裝程序UIP0的客製化反安裝階段431~432。應注意的是,安裝程序IP0與反安裝程序UIP0的執行可依據在程序分岔點DP0時所接收的另一輸入指令來判定。例如,在執行安裝程序的過程中,於程序分岔點DP0時,安裝程式可顯示安裝/反安裝詢問介面於輸入/輸出單元220或120,並且可根據經由輸入/輸出單元220或120接收施加在所述安裝/反安裝詢問介面的另一輸入指令來判定執行安裝程序IP0或反安裝程序UIP0。3A is a schematic diagram of a plurality of preset stages of the application installation tool set according to a first predetermined execution sequence according to an embodiment of the present invention. 3A, for example, suppose that the
圖3B是根據本發明的一實施例所繪示的應用程式安裝工具集依據第二預定執行順序排列的多個預設階段與多個客製化階段的示意圖。具體來說,請參照圖3B,處理器210已將所述多個客製化階段411、421、422、423、424、431、432插入至所述多個預設階段311~317中,以使多個預設階段311~317及所述多個客製化階段411、421、422、423、424、431、432依據一第二預定執行順序排列。3B is a schematic diagram of a plurality of preset stages and a plurality of customized stages of the application installation tool set arranged according to a second predetermined execution sequence according to an embodiment of the present invention. Specifically, referring to FIG. 3B, the
此外,如圖3B所示,安裝程序IP1所包含的多個預設階段與多個客製化階段依第二預定執行順序為:客製化功能詢問階段411“CA_SetInstallType”、客製化安裝階段421“CA_PreCheck”、預設階段312“InstallValidate”、預設階段313“InstallInitialize”、客製化安裝階段422“CA_RemoveService”、預設階段314“ProcessComponent”、客製化安裝階段423“CA_ModifyAppInfo”、客製化安裝階段424“CA_RegisterService”、預設階段315“InstallFinalize”、預設階段316“ScheduleReboot”。反安裝程序IP2所包含的多個預設階段與多個客製化階段依第二預定執行順序為:客製化反安裝階段431“CA_CloseProcess”、預設階段317“RemoveFiles”、客製化反安裝階段432“CA_RemoveAppData”。In addition, as shown in FIG. 3B, the multiple preset stages and multiple customized stages included in the installation program IP1 according to the second predetermined execution sequence are: customized
更詳細來說,執行客製化功能詢問階段411“CA_SetInstallType”時,處理器210或處理器110可顯示客製化功能詢問介面於輸入/輸出裝置220或輸入/輸出裝置120上,以接收輸入指令,進而判定被選擇的後端服務功能是處理器執行功能或圖形處理器執行功能。In more detail, when the customized
執行客製化安裝階段421“CA_PreCheck”時,處理器210或處理器110可驗證所安裝的電子裝置10是否為有效(如,檢查電子裝置的作業系統的版本是否大於預設版本;檢查電子裝置10中的特定硬體的功能是否正常)。When the customized
執行預設階段312“InstallValidate”時,處理器210或處理器110可驗證欲安裝的所有源檔案的完整性。When the
執行預設階段313“InstallInitialize”時,處理器210或處理器110可進行欲寫入的源檔案的初始化操作或解壓縮操作。When the
執行客製化安裝階段422“CA_RemoveService”時,處理器210或處理器110可檢查當前所安裝的目標應用程式的版本號,若判定需要更新,則停止當前所進行的所有的客製化功能,並且下載且安裝需要被更新的源檔案,以更新目標應用程式。When the customized
執行預設階段314“ProcessComponent”時,處理器210或處理器110可開始執行已安裝完的目標應用程式的基本功能於主記憶體130中。When the
執行客製化安裝階段423“CA_ModifyAppInfo”時,處理器210或處理器110可設定對應所述客製化階段的客製化功能(如,開啟電子裝置10所執行的防火牆,以開放所述目標應用程式連線至外界的權限)。When the customized
執行客製化安裝階段424“CA_RegisterService”時,處理器210或處理器110可設定且註冊多個客製化功能。所述多個客製化功能例如是建立DHCP伺服器服務)、安裝特定的資料庫。所述資料庫例如是經由執行所述目標應用程式所蒐集到的檔案或數據。When the customized
執行預設階段315“InstallFinalize”時,處理器210或處理器110可準備結束整體的安裝程序IP1。在一實施例中,處理器210或處理器110可清除暫存於主記憶體230或130中的相關於安裝程式的暫存檔案。When the
執行預設階段316“ScheduleReboot”時,處理器210或處理器110可顯示重開機介面,以規劃或直接執行一個電子裝置10的重開機操作。When the
執行客製化反安裝階段431“CA_CloseProcess”時,處理器210或處理器110可停止所述目標應用程式當前所進行的所有的操作/程序。When the customized
執行預設階段317“RemoveFiles”時,處理器210或處理器110可從電子裝置10的儲存單元140中移除/刪除相關於所述目標應用程式的已安裝檔案。When the
執行客製化反安裝階段432“CA_RemoveAppData”時,處理器210或處理器110可移除/取消在電子裝置10的作業系統中,相關於所述目標應用程式的系統登錄或系統設定。例如,關閉防火牆中對應所述目標應用程式的接口、刪除對應所述目標應用程式的資料庫、移除已經設定的DHCP伺服器的設定。When the customized
應注意的是,上述圖3A~3B僅為一個示例性的例子,本發明並不限於此。例如,在其他實施例中,所產生的安裝程序可具有不同的多個其他預設階段與多個其他客製化階段,以及對應所述不同的所述多個其他預設階段與所述多個其他客製化階段的其他預定執行順序。It should be noted that the above-mentioned FIGS. 3A to 3B are only an illustrative example, and the present invention is not limited to this. For example, in other embodiments, the generated installation program may have different multiple other preset stages and multiple other customized stages, and correspond to the different multiple other preset stages and multiple customized stages. Other scheduled execution sequences of other customization stages.
綜上所述,本發明的實施例所提供的應用程式維護方法,可插入多個客製化階段至應用程式安裝工具集的多個預設階段之間,根據所述多個預設階段與所述多個客製化階段來打包多個源檔案,以產生目標應用程式的安裝程式,進而執行所述目標應用程式的所述安裝程式,以於執行所述安裝程式中的所述多個客製化階段時,反應於所接收的輸入指令,安裝對應於所述輸入指令的多個客製化功能至電子裝置。如此一來,所述應用程式維護方法,可在安裝所述目標應用程式時,更安裝特定的多個客製化功能,以彈性地增加所述目標應用程式的功能,進而使所述電子裝置的功能可更貼近使用者的需求且增強安裝所述目標應用程式的所述電子裝置的工作效率。In summary, the application maintenance method provided by the embodiment of the present invention can insert multiple customization stages between multiple preset stages of the application installation tool set, and according to the multiple preset stages and The multiple customization stages are used to package multiple source files to generate an installer of the target application, and then execute the installer of the target application to execute the multiple of the installer In the customization stage, in response to the received input instructions, multiple customized functions corresponding to the input instructions are installed to the electronic device. In this way, the application maintenance method can install a plurality of specific customized functions when the target application is installed, so as to flexibly increase the functions of the target application, thereby enabling the electronic device The function of is closer to the needs of users and enhances the work efficiency of the electronic device that installs the target application.
10:電子裝置
110、210:處理器
120、220:輸入/輸出單元
130、230:主記憶體
140、240:儲存單元
150、250:通訊單元
20:安裝伺服器
S210、S220、S230、S240、S250:應用程式維護方法的流程步驟
311~317:預設階段
411:客製化功能詢問階段
421~424:客製化安裝階段
431~432:客製化反安裝階段
10:
圖1是根據本發明的一實施例所繪示的電子裝置與安裝伺服器的方塊示意圖。 圖2是根據本發明的一實施例所繪示的應用程式維護方法的流程圖。 圖3A是根據本發明的一實施例所繪示的應用程式安裝工具集依據第一預定執行順序排列的多個預設階段的示意圖。 圖3B是根據本發明的一實施例所繪示的應用程式安裝工具集依據第二預定執行順序排列的多個預設階段與多個客製化階段的示意圖。 FIG. 1 is a block diagram of an electronic device and an installation server according to an embodiment of the invention. FIG. 2 is a flowchart of an application program maintenance method according to an embodiment of the present invention. 3A is a schematic diagram of a plurality of preset stages of the application installation tool set according to a first predetermined execution sequence according to an embodiment of the present invention. 3B is a schematic diagram of a plurality of preset stages and a plurality of customized stages of the application installation tool set arranged according to a second predetermined execution sequence according to an embodiment of the present invention.
S210、S220、S230、S240、S250:應用程式維護方法的流程步驟S210, S220, S230, S240, S250: the process steps of the application maintenance method
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109106038A TWI740393B (en) | 2020-02-25 | 2020-02-25 | Application maintaining method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109106038A TWI740393B (en) | 2020-02-25 | 2020-02-25 | Application maintaining method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202132974A TW202132974A (en) | 2021-09-01 |
TWI740393B true TWI740393B (en) | 2021-09-21 |
Family
ID=78777643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109106038A TWI740393B (en) | 2020-02-25 | 2020-02-25 | Application maintaining method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI740393B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201015438A (en) * | 2008-09-15 | 2010-04-16 | Yahoo Inc | Targeted instant messenger behaviors employed for optimization of a client |
TW201346804A (en) * | 2012-05-01 | 2013-11-16 | Chunghwa Telecom Co Ltd | A cloud software distribution system and method thereof |
US20130326499A1 (en) * | 2012-05-31 | 2013-12-05 | Microsoft Corporation | Automatically installing and removing recommended applications |
CN110413292A (en) * | 2019-07-22 | 2019-11-05 | 深圳证券交易所 | Light application installation method, mobile terminal and the storage medium of application program |
US20190369977A1 (en) * | 2018-06-05 | 2019-12-05 | Microsoft Technology Licensing, Llc | On-demand installer for resource packages |
-
2020
- 2020-02-25 TW TW109106038A patent/TWI740393B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201015438A (en) * | 2008-09-15 | 2010-04-16 | Yahoo Inc | Targeted instant messenger behaviors employed for optimization of a client |
TW201346804A (en) * | 2012-05-01 | 2013-11-16 | Chunghwa Telecom Co Ltd | A cloud software distribution system and method thereof |
US20130326499A1 (en) * | 2012-05-31 | 2013-12-05 | Microsoft Corporation | Automatically installing and removing recommended applications |
US20190369977A1 (en) * | 2018-06-05 | 2019-12-05 | Microsoft Technology Licensing, Llc | On-demand installer for resource packages |
CN110413292A (en) * | 2019-07-22 | 2019-11-05 | 深圳证券交易所 | Light application installation method, mobile terminal and the storage medium of application program |
Also Published As
Publication number | Publication date |
---|---|
TW202132974A (en) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467816B1 (en) | Method and system of running an application | |
CN110221860B (en) | Configuration file processing method, device, terminal and medium | |
CN106445576B (en) | Motherboard and its computer implemented method and the readable storage device of non-transient computer | |
US9053236B1 (en) | Automated directory services test setup utility | |
US11126417B2 (en) | System and method for application plug-in distribution | |
CN107291481B (en) | Component updating method, device and system | |
US9448807B2 (en) | Automatic creation, deployment, and upgrade of disk images | |
JP2016035770A (en) | Method, computer program and device for optimizing loading and booting of operating system in computer system via communication network | |
CN106293849B (en) | application updating method and terminal | |
CN113391826B (en) | Solution method for software package dependence in customized mirror image | |
EP3614258B1 (en) | Retrieving updated firmware code | |
CN113204385B (en) | Plug-in loading method and device, computing equipment and readable storage medium | |
JP7410268B2 (en) | Methodology for container-based virtualization systems | |
TW201704994A (en) | Technology for updating a server image file | |
CN113760306B (en) | Method and device for installing software, electronic equipment and storage medium | |
US10761823B2 (en) | Imposing a common build system for services from disparate sources | |
CN102053848A (en) | Automatic installation method for Linux operating system | |
US10514940B2 (en) | Virtual application package reconstruction | |
JP7102524B2 (en) | Firmware release of multiple binary images | |
US20140232733A1 (en) | Graphics Processing Unit Pre-Caching | |
TWI740393B (en) | Application maintaining method | |
US9672020B2 (en) | Selectively loading precompiled header(s) and/or portion(s) thereof | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
TWI486876B (en) | Host and method of upgrading connection manager of dongle | |
US8745620B2 (en) | Software tool and method for updating a virtual appliance |