TWI740393B - Application maintaining method - Google Patents

Application maintaining method Download PDF

Info

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
Application number
TW109106038A
Other languages
Chinese (zh)
Other versions
TW202132974A (en
Inventor
黃展翊
Original Assignee
宏碁股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 宏碁股份有限公司 filed Critical 宏碁股份有限公司
Priority to TW109106038A priority Critical patent/TWI740393B/en
Publication of TW202132974A publication Critical patent/TW202132974A/en
Application granted granted Critical
Publication of TWI740393B publication Critical patent/TWI740393B/en

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

An application maintaining method is provided. The method includes: identifying a plurality of source files of a target application and a plurality of customized information related to the source files; identifying a plurality of preset steps of an application install toolset; inserting a plurality of customized steps into the preset steps according to the customized information; packaging, according to the preset steps and the customized steps, the source files via the application install toolset, so as to generate an install program of the target application; and, when executing the install program of the target application, in response to a received input instruction, installing a plurality of customized functions corresponding to the input instruction to an electronic device.

Description

應用程式維護方法Application maintenance method

本發明是有關於跨平台之一種應用程式維護方法。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 electronic device 10 includes a processor 110, an input/output unit 120, a main memory 130, a storage unit 140 and a communication unit 150. The processing unit 110 is coupled to the input/output unit 120, the main memory 130, the storage unit 140, and the communication unit 150. In addition, the installation server 20 includes a processor 210, an input/output unit 220, a main memory 230, a storage unit 240, and a communication unit 250. The processing unit 210 is coupled to the input/output unit 220, the main memory 230, the storage unit 240, and the communication unit 250. In this embodiment, data can be transmitted between the electronic device 10 and the installation server 20 via the connection C1 established by the communication unit 150 and the communication unit 250. The electronic device 10 includes one of the following types of electronic devices: a client terminal (Client Terminal) electronic device, a remote server (Remote Server), and a local server (Local Server). The electronic device is, for example, a personal computer, a notebook computer, a tablet computer, a smart phone, a smart mobile device, and the like.

在本實施例中,處理器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 processor 110 or 210 is a hardware (such as a chipset, a processor, etc.) with computing capabilities, and is used to manage the overall operation of the electronic device 10 or the installation server 20. In this embodiment, the processors 110 and 210 are, for example, a central processing unit (CPU), a microprocessor (micro-processor), or other programmable processing units (Programmable) with one core or multiple cores. processor), Digital Signal Processor (DSP), Programmable Controller, Application Specific Integrated Circuits (ASIC), Programmable Logic Device (PLD) or other similar Device.

輸入/輸出單元120及220用以接收使用者的輸入操作,以及輸出影像。輸入/輸出單元120及220例如是觸控螢幕,或是螢幕與輸入裝置(如,滑鼠、鍵盤或/及觸控板)的組合。The input/output units 120 and 220 are used for receiving user input operations and outputting images. The input/output units 120 and 220 are, for example, touch screens, or a combination of a screen and an input device (eg, a mouse, a keyboard, or/and a touch pad).

主記憶體130、230分別用以接收處理器110、210的指示來暫存資料。主記憶體130及230例如是任意形式的固定式或可移動式隨機存取記憶體(random access memory,RAM)或其他類似裝置、積體電路及其組合。The main memories 130 and 230 are used to receive instructions from the processors 110 and 210 to temporarily store data. The main memories 130 and 230 are, for example, any form of fixed or removable random access memory (RAM) or other similar devices, integrated circuits, and combinations thereof.

儲存單元140、240可記錄一些需要長時間儲存的資料。例如,用以運行電子裝置的韌體、作業系統、多種應用程式、多種檔案(如,對應目標應用程式的多個源檔案)或軟體(如,應用程式安裝工具集、應用程式維護程式碼)。儲存單元140、240例如是任何形式的非揮發性記憶體(如,硬碟、固態硬碟、快閃記憶體模組)或其他類似的裝置、積體電路及其組合。The storage units 140 and 240 can record some data that needs to be stored for a long time. For example, the firmware, operating system, multiple applications, multiple files (e.g., multiple source files corresponding to the target application) or software (e.g., application installation tool set, application maintenance code) used to run the electronic device . The storage units 140 and 240 are, for example, any form of non-volatile memory (eg, hard disk, solid state drive, flash memory module) or other similar devices, integrated circuits, and combinations thereof.

通訊單元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 communication units 150 and 250 are used to transmit or receive data through wireless communication. In this embodiment, the communication units 150 and 250 may have a wireless communication circuit module (not shown), and support the Global System for Mobile Communication (GSM) system and the Personal Handy-phone system (Personal Handy-phone system). phone System, PHS), Code Division Multiple Access (CDMA) system, Wireless Fidelity (WiFi) system, Worldwide Interoperability for Microwave Access (WiMAX) system, third One of the next-generation wireless communication technology (3G), fourth-generation wireless communication technology (4G), fifth-generation wireless communication technology (5G), Long Term Evolution (LTE), and Bluetooth communication technology Or a combination thereof, and is not limited to this.

除此之外,通訊單元150、250也可具有一有線通訊電路模組(如,網路介面卡),並透過有線通訊的方式來傳輸或是接收資料。另外,在本實施例中,通訊單元150、250亦可建立網路連線,以使所述電子裝置10、安裝伺服器20連接至網際網路或區域網路。應注意的是,在本實施例中,電子裝置10以及安裝伺服器20之間亦可透過通訊單元150與250所建立的連線C1來傳輸資料給彼此。在本實施例中,處理器210可透過所述連線C1來傳輸相關的資料給電子裝置10,以安裝目標應用程式至電子裝置10。此外,所述處理器210更用以存取且執行應用程式維護程式碼於所述主記憶體230中,以實現本實施例所提供的應用程式維護方法。In addition, the communication units 150 and 250 may also have a wired communication circuit module (for example, a network interface card), and transmit or receive data through wired communication. In addition, in this embodiment, the communication units 150 and 250 can also establish a network connection, so that the electronic device 10 and the installation server 20 are connected to the Internet or a local area network. It should be noted that in this embodiment, the electronic device 10 and the installation server 20 can also transmit data to each other through the connection C1 established by the communication units 150 and 250. In this embodiment, the processor 210 can transmit relevant data to the electronic device 10 through the connection C1 to install the target application program to the electronic device 10. In addition, the processor 210 is further used to access and execute application program maintenance program codes in the main memory 230 to implement the application program maintenance method provided in this embodiment.

圖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 processor 210 identifies a plurality of source files of the target application and a plurality of customized information related to the plurality of source files.

具體來說,所述目標應用程式例如是安裝伺服器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 electronic device 10 by the installation server 20. The multiple source files are related to the files required for the installation operation of the target application, and the multiple source files may be generated or stored in the storage unit 240 in advance. The multiple customized information is, for example, source files, metadata, interfaces, etc. related to multiple customization stages. In other words, during the customization phase of the installation program, the processor 210 will use the metadata and interface contained in the corresponding customized information to generate a corresponding user interface or display screen, and perform one of the following operations Or more: (1) install the source file corresponding to the input command in response to the received input command; (2) directly install the source file corresponding to the customization stage (eg, install the interface related to the target application (Or browser); (3) Verify whether the installed electronic device is valid (for example, check the operating system version of the electronic device; check whether the specific hardware in the electronic device functions normally); (4) Set the corresponding Customization function at the customization stage. The customized functions include: adjusting/updating the network settings of the electronic device (for example, turning on/off the firewall; creating/removing the DHCP service), installing a specific database; (5) uninstalling the target application, Remove all the customized features that have been installed/configured. In addition, the processor 210 can further learn the sequence of the multiple customization stages of the installer to be inserted into the target application according to the multiple customization information.

應注意的是,所述檢查電子裝置中的特定硬體的功能是否正常的操作例如是:假設目標應用程式為控制電子裝置中的特定硬體的一種應用程式,所述目標應用程式的安裝程式中的一個客製化階段可根據檢查/驗證所述特定硬體的全部功能或部份功能的結果來判斷所述特定硬體是否正常。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 processor 210 identifies a plurality of preset stages of the application installation tool set, wherein the plurality of preset stages are executed according to a first predetermined execution sequence. For example, the application installation tool set is, for example, a WiX (Windows Installer XML) tool set. The processor 210 can recognize the sequence (also known as the first predetermined execution sequence) of multiple installation stages (ie, multiple preset stages) preset by the WiX tool set and allocate the multiple ones of the target applications. Source files to the multiple installation stages.

接著,在步驟S230中,處理器210根據所述多個客製化資訊來插入多個客製化階段至所述多個預設階段之間,其中所述第一預定執行順序被改變為第二預定執行順序,並且所述多個預設階段與所述多個客製化階段依據所述第二預定執行順序而執行。具體來說,在本實施例中,處理器210可根據所述多個客製化資訊來得知欲被插入至所述目標應用程式的安裝程式的多個預設階段的多個客製化階段的位置。例如,處理器210可插入一或多個客製化階段至兩個預設階段之間、插入一或多個客製化階段至一個預設階段之前、或插入一或多個客製化階段至一個預設階段之後,以在插入所有客製化階段後獲得所述第二預定執行順序(第一預定執行順序會因被插入的多個客製化階段而被改變為第二預定執行順序)。Then, in step S230, the processor 210 inserts a plurality of customization stages between the plurality of preset stages according to the plurality of customization information, wherein the first predetermined execution order is changed to the first Two predetermined execution sequences, and the plurality of preset stages and the plurality of customized stages are executed according to the second predetermined execution sequence. Specifically, in this embodiment, the processor 210 can learn, according to the plurality of customization information, the plurality of customization stages that are to be inserted into the plurality of preset stages of the target application installer. s position. For example, the processor 210 may insert one or more customization stages between two preset stages, insert one or more customization stages before a preset stage, or insert one or more customization stages After reaching a preset stage, to obtain the second predetermined execution order after inserting all the customization stages (the first predetermined execution order will be changed to the second predetermined execution order due to the inserted multiple customization stages ).

在本實施例中,所述安裝程式被執行的所述多個客製化階段包括一或多個客製化功能詢問階段、多個客製化安裝階段以及多個客製化反安裝階段。所述一或多個客製化功能詢問階段用以在執行所述安裝程式的所述一或多個客製化功能詢問階段中的每一個時,顯示對應的詢問視窗,以接收對應的第一輸入指令,進而根據所述第一輸入指令安裝對應的第一客製化功能。所述多個客製化安裝階段用以安裝對應的多個第二客製化功能。所述多個客製化反安裝階段用以移除所有的已安裝第一客製化功能與已安裝第二客製化功能。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 processor 210 packages the multiple source files according to the multiple preset stages and the multiple customized stages through the application installation tool set to generate the target application Installer. Specifically, the processor 210 may use an application installation tool set to package the plurality of preset stages and the plurality of customized stages arranged in the second predetermined execution order, respectively, corresponding to the plurality of Source files of a preset stage and the multiple customization stages to generate a final installer of the target application. When the installation program is executed, the processor 210 or the processor 110 executing the installation program may sequentially execute the plurality of preset stages and the plurality of customizations according to the second predetermined execution sequence In the stage, install the corresponding source files and install/set the corresponding customized functions in sequence.

即,在步驟S250中,處理器210或處理器110執行所述目標應用程式的所述安裝程式,以於執行所述安裝程式中的所述多個客製化階段時,反應於所接收的輸入指令,安裝對應於所述輸入指令的所述目標應用程式的多個客製化功能至一電子裝置。That is, in step S250, the processor 210 or the processor 110 executes the installation program of the target application, so that when the multiple customization stages in the installation program are executed, it is reflected in the received Input instructions to install multiple customized functions of the target application corresponding to the input instructions to an electronic device.

應注意的是,在本實施例中經由所述應用程式安裝工具集所產生的安裝程式可支援靜默安裝(亦稱,遠端安裝)。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 processor 210 generates the installation program, the installation program may be stored in the storage unit 240. The processor 210 may be connected to the other application program executed by the client electronic device (or remote server) through a network (for example, via the Internet) through another application program executed (for example, a cloud management program) Network or local network) to directly install the target application program to the client electronic device (or remote server) by executing the installation program by the installation server 20. For another example, the processor 210 may be connected to the other application program executed by the client electronic device (or remote server) via a network connection (eg, a cloud management program) that is executed , Communicate via the Internet or local network) to transmit the stored installation program to the client electronic device (or remote server). The processor 110 may store the received installation program, and may directly (or at a predetermined scheduled time) execute the installation program. It should be noted that the above process of executing the installation program can be automatically executed in the background of the client electronic device (or remote server) to install the target application to the electronic device by silent installation. 10. In one embodiment, the cloud management program is, for example, Acer's Being Device Management (BDM).

針對本地安裝的方式,舉例來說,在處理器210產生所述安裝程式後,所述安裝程式可被儲存在儲存單元240中。處理器210可透過與本地伺服器之間所建立的連線C1來傳輸所述安裝程式至本地伺服器。本地伺服器的處理器110在接收到所述安裝程式後,可執行所述安裝程式,以經由本地安裝的方式,來直接安裝所述目標應用程式至客戶端電子裝置。又例如,本地伺服器在與客戶端電子裝置建立連線後,可執行所儲存的所述安裝程式,以經由本地安裝的方式,來直接安裝所述目標應用程式至客戶端電子裝置。For the local installation method, for example, after the processor 210 generates the installation program, the installation program may be stored in the storage unit 240. The processor 210 can transmit the installation program to the local server through the connection C1 established with the local server. After receiving the installation program, the processor 110 of the local server can execute the installation program to directly install the target application program to the client electronic device by means of local installation. For another example, after establishing a connection with the client electronic device, the local server can execute the stored installation program to directly install the target application to the client electronic device by means of local installation.

值得一提的是,在本實施例中,所述遠端伺服器可經由網際網路連線至複數個客戶端電子裝置,並且所述本地伺服器可經由區域網路連線至一個客戶端電子裝置。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 processor 210 or the processor 110 may remove the target application installed by the electronic device. Multiple customized functions, and uninstall the target application. Specifically, in the process of executing the installation program, an installation/uninstallation query interface is displayed via the input/output unit 120 at a program branch point, so as to determine to execute the corresponding installation based on receiving the other input command A plurality of first preset stages and a plurality of first customized stages of the program, or a plurality of second preset stages and a plurality of second customized stages of the corresponding uninstall program are executed, wherein the plurality of first A predetermined stage is not completely the same as the plurality of second predetermined stages, and the plurality of first customization stages are not completely the same as the plurality of second customization stages.

另一方面,在本實施例中,根據所欲安裝的電子裝置的類型,被安裝的目標應用程式可區分為第一類型目標應用程式、第二類型目標應用程式以及第三類型目標應用程式。即,安裝在不同類型的電子裝置中的目標應用程式會不同。更具體來說,反應於辨識所安裝的所述電子裝置為所述客戶端電子裝置,安裝所述第一類型應用程式至所述客戶端電子裝置,其中所述第一類型應用程式具有多個第一客製化功能;反應於辨識所安裝的所述電子裝置為所述遠端伺服器,安裝所述第二類型應用程式至所述客戶端電子裝置,其中所述第二類型應用程式具有多個第二客製化功能;以及反應於辨識所安裝的所述電子裝置為所述本地電子裝置,安裝所述第三類型應用程式至所述客戶端電子裝置,其中所述第三類型應用程式具有多個第三客製化功能,其中安裝後的所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能彼此不完全相同。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 processor 210 or 110 can be used by the user during the execution of the installation program. The input command is applied to determine whether to install the processor-executed function or the graphics processor-executed function into the electronic device 10. If the electronic device 10 only has a processor, in the process of executing the installation program, the processor 210 or 110 will directly install the processor to perform functions.

此外,所述區域網路設定功能例如是於所建立的區域網路的網域中,安裝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 processor 210 has identified a plurality of preset stages 311 to 317 arranged according to a first predetermined execution order of the application tool set, and identified a plurality of customers according to a plurality of customized information. The customization stages 411, 421, 422, 423, 424, 431, 432 and the multiple customization stages 411, 421, 422, 423, 424, 431, 432 should be inserted into the multiple preset stages 311~ 317 order/location. In this example, the plurality of preset stages 311 to 317 include a plurality of preset installation stages 312 to 316 divided into the installation program IP0 and a preset anti-installation stage 317 divided into the anti-installation program UIP0. In addition, the multiple customization stages 411 to 432 include the customized function inquiry stage 411 that is divided into the installation program IP0, the customized installation stages 421 to 424, and the customized reaction that is divided into the anti-installation program UIP0. Installation stages 431-432. It should be noted that the execution of the installation program IP0 and the uninstallation program UIP0 can be determined based on another input command received at the program branch point DP0. For example, in the process of executing the installation program, at the program branch point DP0, the installation program can display the installation/uninstallation inquiry interface on the input/output unit 220 or 120, and can receive the application according to the input/output unit 220 or 120. Another input command in the installation/uninstallation query interface determines whether to execute the installation program IP0 or the uninstall program UIP0.

圖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 processor 210 has inserted the plurality of customized stages 411, 421, 422, 423, 424, 431, and 432 into the plurality of preset stages 311 to 317 to The plurality of preset stages 311 to 317 and the plurality of customized stages 411, 421, 422, 423, 424, 431, and 432 are arranged according to a second predetermined execution order.

此外,如圖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 function inquiry stage 411 "CA_SetInstallType", customized installation stage 421 "CA_PreCheck", preset stage 312 "InstallValidate", preset stage 313 "InstallInitialize", customized installation stage 422 "CA_RemoveService", preset stage 314 "ProcessComponent", customized installation stage 423 "CA_ModifyAppInfo", customized Systematic installation stage 424 "CA_RegisterService", preset stage 315 "InstallFinalize", preset stage 316 "ScheduleReboot". The multiple preset stages and multiple customized stages included in the uninstall program IP2 according to the second predetermined execution sequence are: customized uninstall stage 431 "CA_CloseProcess", default stage 317 "RemoveFiles", customized reverse Installation phase 432 "CA_RemoveAppData".

更詳細來說,執行客製化功能詢問階段411“CA_SetInstallType”時,處理器210或處理器110可顯示客製化功能詢問介面於輸入/輸出裝置220或輸入/輸出裝置120上,以接收輸入指令,進而判定被選擇的後端服務功能是處理器執行功能或圖形處理器執行功能。In more detail, when the customized function query stage 411 "CA_SetInstallType" is executed, the processor 210 or the processor 110 may display the customized function query interface on the input/output device 220 or the input/output device 120 to receive input Instructions, and then determine whether the selected back-end service function is a processor-executed function or a graphics processor-executed function.

執行客製化安裝階段421“CA_PreCheck”時,處理器210或處理器110可驗證所安裝的電子裝置10是否為有效(如,檢查電子裝置的作業系統的版本是否大於預設版本;檢查電子裝置10中的特定硬體的功能是否正常)。When the customized installation stage 421 "CA_PreCheck" is executed, the processor 210 or the processor 110 can verify whether the installed electronic device 10 is valid (eg, check whether the operating system version of the electronic device is greater than the preset version; check the electronic device Is the function of the specific hardware in 10 normal?).

執行預設階段312“InstallValidate”時,處理器210或處理器110可驗證欲安裝的所有源檔案的完整性。When the preset stage 312 "InstallValidate" is executed, the processor 210 or the processor 110 can verify the integrity of all source files to be installed.

執行預設階段313“InstallInitialize”時,處理器210或處理器110可進行欲寫入的源檔案的初始化操作或解壓縮操作。When the preset stage 313 "InstallInitialize" is executed, the processor 210 or the processor 110 can perform an initialization operation or a decompression operation of the source file to be written.

執行客製化安裝階段422“CA_RemoveService”時,處理器210或處理器110可檢查當前所安裝的目標應用程式的版本號,若判定需要更新,則停止當前所進行的所有的客製化功能,並且下載且安裝需要被更新的源檔案,以更新目標應用程式。When the customized installation stage 422 "CA_RemoveService" is executed, the processor 210 or the processor 110 can check the version number of the target application currently installed, and if it is determined that it needs to be updated, it will stop all the customization functions currently being performed. And download and install the source file that needs to be updated to update the target application.

執行預設階段314“ProcessComponent”時,處理器210或處理器110可開始執行已安裝完的目標應用程式的基本功能於主記憶體130中。When the preset stage 314 "ProcessComponent" is executed, the processor 210 or the processor 110 can start to execute the basic functions of the installed target application in the main memory 130.

執行客製化安裝階段423“CA_ModifyAppInfo”時,處理器210或處理器110可設定對應所述客製化階段的客製化功能(如,開啟電子裝置10所執行的防火牆,以開放所述目標應用程式連線至外界的權限)。When the customized installation phase 423 "CA_ModifyAppInfo" is executed, the processor 210 or the processor 110 may set a customized function corresponding to the customized phase (eg, turn on the firewall executed by the electronic device 10 to open the target The permission of the application to connect to the outside world).

執行客製化安裝階段424“CA_RegisterService”時,處理器210或處理器110可設定且註冊多個客製化功能。所述多個客製化功能例如是建立DHCP伺服器服務)、安裝特定的資料庫。所述資料庫例如是經由執行所述目標應用程式所蒐集到的檔案或數據。When the customized installation phase 424 "CA_RegisterService" is executed, the processor 210 or the processor 110 can set and register multiple customized functions. The multiple customized functions are, for example, establishing a DHCP server service) and installing a specific database. The database is, for example, files or data collected by executing the target application.

執行預設階段315“InstallFinalize”時,處理器210或處理器110可準備結束整體的安裝程序IP1。在一實施例中,處理器210或處理器110可清除暫存於主記憶體230或130中的相關於安裝程式的暫存檔案。When the preset stage 315 "InstallFinalize" is executed, the processor 210 or the processor 110 may prepare to end the overall installation program IP1. In one embodiment, the processor 210 or the processor 110 can clear the temporary files related to the installation program temporarily stored in the main memory 230 or 130.

執行預設階段316“ScheduleReboot”時,處理器210或處理器110可顯示重開機介面,以規劃或直接執行一個電子裝置10的重開機操作。When the preset stage 316 "ScheduleReboot" is executed, the processor 210 or the processor 110 may display a reboot interface to plan or directly perform a reboot operation of the electronic device 10.

執行客製化反安裝階段431“CA_CloseProcess”時,處理器210或處理器110可停止所述目標應用程式當前所進行的所有的操作/程序。When the customized uninstall phase 431 "CA_CloseProcess" is executed, the processor 210 or the processor 110 can stop all operations/procedures currently performed by the target application.

執行預設階段317“RemoveFiles”時,處理器210或處理器110可從電子裝置10的儲存單元140中移除/刪除相關於所述目標應用程式的已安裝檔案。When the preset stage 317 “RemoveFiles” is executed, the processor 210 or the processor 110 can remove/delete the installed files related to the target application from the storage unit 140 of the electronic device 10.

執行客製化反安裝階段432“CA_RemoveAppData”時,處理器210或處理器110可移除/取消在電子裝置10的作業系統中,相關於所述目標應用程式的系統登錄或系統設定。例如,關閉防火牆中對應所述目標應用程式的接口、刪除對應所述目標應用程式的資料庫、移除已經設定的DHCP伺服器的設定。When the customized uninstallation stage 432 "CA_RemoveAppData" is executed, the processor 210 or the processor 110 can be removed/cancelled from the operating system of the electronic device 10, which is related to the system registration or system setting of the target application. For example, closing the interface corresponding to the target application in the firewall, deleting the database corresponding to the target application, and removing the settings of the DHCP server that has been set.

應注意的是,上述圖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: Electronic device 110, 210: processor 120, 220: input/output unit 130, 230: main memory 140, 240: storage unit 150, 250: communication unit 20: Install the server S210, S220, S230, S240, S250: the process steps of the application maintenance method 311~317: Preset stage 411: Inquiry stage of customized functions 421~424: Customized installation stage 431~432: Customized anti-installation stage

圖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)

一種應用程式維護方法,包括:辨識目標應用程式的多個源檔案及相關於所述多個源檔案的多個客製化資訊;辨識應用程式安裝工具集的多個預設階段,其中所述多個預設階段依據第一預定執行順序而執行;根據所述多個客製化資訊來插入多個客製化階段至所述多個預設階段之間,其中所述第一預定執行順序被改變為第二預定執行順序,並且所述多個預設階段與所述多個客製化階段依據所述第二預定執行順序而執行;經由所述應用程式安裝工具集,根據所述多個預設階段與所述多個客製化階段來打包所述多個源檔案,以產生所述目標應用程式的安裝程式;以及執行所述目標應用程式的所述安裝程式,以於執行所述安裝程式中的所述多個客製化階段時,反應於所接收的輸入指令,安裝對應於所述輸入指令的所述目標應用程式的多個客製化功能至一電子裝置。 An application program maintenance method includes: identifying a plurality of source files of a target application program and a plurality of customized information related to the plurality of source files; identifying a plurality of preset stages of an application program installation tool set, wherein the A plurality of preset stages are executed according to a first predetermined execution sequence; a plurality of customized stages are inserted between the plurality of preset stages according to the plurality of customization information, wherein 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; through the application installation tool set, according to the multiple A preset stage and the plurality of customization stages to package the plurality of source files to generate the installer of the target application; and execute the installer of the target application to execute all During the multiple customization stages in the installation program, in response to the received input command, multiple customized functions of the target application program corresponding to the input command are installed to an electronic device. 如請求項1所述的應用程式維護方法,更包括:反應於所接收的另一輸入指令,移除所述電子裝置所安裝的所述目標應用程式的所述多個客製化功能,並且反安裝所述目標應用程式。 The application maintenance method according to claim 1, further comprising: in response to another input command received, removing the plurality of customized functions of the target application installed on the electronic device, and Uninstall the target application. 如請求項2所述的應用程式維護方法,其中所述電子裝置包括一客戶端電子裝置、一遠端伺服器以及一本地伺服器中的其中之一,其中所述應用程式維護方法更包括:經由一靜默安裝方式來執行所述目標應用程式的所述安裝程式,以藉由一安裝伺服器所執行的另一應用程式,來遠端地安裝所述目標應用程式至所述客戶端電子裝置以及所述遠端伺服器中的其中之一;以及經由一本地安裝方式來執行所述目標應用程式的所述安裝程式,以從所述安裝伺服器經由所述安裝伺服器與所述本地伺服器之間的連接線來安裝所述目標應用程式至所述本地伺服器。 The application maintenance method according to claim 2, wherein the electronic device includes one of a client electronic device, a remote server, and a local server, wherein the application maintenance method further includes: Execute the installer of the target application via a silent installation method, so as to remotely install the target application to the client electronic device by another application executed by an installation server And one of the remote servers; and the installation program of the target application is executed through a local installation method, so as to be from the installation server through the installation server and the local server The connection line between the servers to install the target application to the local server. 如請求項3所述的應用程式維護方法,其中所述遠端伺服器經由網際網路連線至複數個客戶端電子裝置,其中所述本地伺服器經由區域網路連線至一個客戶端電子裝置。 The application maintenance method according to claim 3, wherein the remote server is connected to a plurality of client electronic devices via the Internet, and wherein the local server is connected to a client electronic device via the local network Device. 如請求項3所述的應用程式維護方法,其中所述目標應用程式包括第一類型目標應用程式、第二類型目標應用程式以及第三類型目標應用程式,其中所述應用程式維護方法更包括:反應於辨識所安裝的所述電子裝置為所述客戶端電子裝置,安裝所述第一類型應用程式至所述客戶端電子裝置,其中所述第一類型應用程式具有多個第一客製化功能;反應於辨識所安裝的所述電子裝置為所述遠端伺服器,安裝所述第二類型應用程式至所述客戶端電子裝置,其中所述第二類 型應用程式具有多個第二客製化功能;以及反應於辨識所安裝的所述電子裝置為所述本地電子裝置,安裝所述第三類型應用程式至所述客戶端電子裝置,其中所述第三類型應用程式具有多個第三客製化功能,其中安裝後的所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能彼此不完全相同。 The application maintenance method according to claim 3, wherein the target application includes a first type target application, a second type target application, and a third type target application, wherein the application maintenance method further includes: In response to identifying that the installed electronic device is the client electronic device, installing the first type of application to the client electronic device, wherein the first type of application has a plurality of first customizations Function; in response 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 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. 如請求項5所述的應用程式維護方法,其中所述多個第二客製化功能相較於所述多個第一客製化功能更具有一後端服務功能,其中所述多個第三客製化功能相較於所述多個第二客製化功能更具有一區域網路設定功能,其中所述多個第一客製化功能、所述多個第二客製化功能、所述多個第三客製化功能皆具有一對應所述目標應用程式的瀏覽器介面功能。 The application maintenance method according to claim 5, wherein the plurality of second customized functions has a back-end service function more than the plurality of first customized functions, wherein the plurality of second customized functions Compared with the multiple second customized functions, the three-customized function has a local area network setting function, wherein the multiple first customized functions, the multiple second customized functions, The plurality of third customized functions all have a browser interface function corresponding to the target application. 如請求項6所述的應用程式維護方法,其中所述後端服務功能包括下列功能的其中之一:一處理器執行功能,用以僅使用所述電子裝置的處理器來執行第一後端服務功能;以及一圖形處理器執行功能,用以僅使用所述電子裝置的圖形處理器來執行第二後端服務功能。 The application maintenance method according to claim 6, wherein the back-end service function includes one of the following functions: a processor execution function for executing the first back-end using only the processor of the electronic device Service function; and a graphics processor execution function for only using the graphics processor of the electronic device to perform the second back-end service function. 如請求項2所述的應用程式維護方法,其中所述電子裝置所執行的第一作業系統不同於開發所述多個源檔案的第二作 業系統,其中經由應用程式安裝工具集所產生的所述目標應用程式的所述安裝程式能被執行在所述第一作業系統上。 The application maintenance method according to claim 2, wherein the first operating system executed by the electronic device is different from the second operation for developing the plurality of source files An industry system, wherein the installation program of the target application program generated by the application program installation tool set can be executed on the first operating system. 如請求項2所述的應用程式維護方法,其中所述第一作業系統為Windows作業系統,其中所述第二作業系統為Linux作業系統。 The application maintenance method according to claim 2, wherein the first operating system is a Windows operating system, and the second operating system is a Linux operating system. 如請求項1所述的應用程式維護方法,其中所述安裝程式被執行的所述多個客製化階段包括:一或多個客製化功能詢問階段,其中在執行所述安裝程式的所述一或多個客製化功能詢問階段中的每一個時,顯示對應的詢問視窗,以接收對應的第一輸入指令,進而根據所述第一輸入指令安裝對應的第一客製化功能;多個客製化安裝階段,用以安裝對應的多個第二客製化功能;以及多個客製化反安裝階段,用以移除所有的已安裝第一客製化功能與已安裝第二客製化功能。 The application maintenance method according to claim 1, wherein the multiple customization stages in which the installer is executed include: one or more customized function inquiry stages, wherein all stages of the installer are executed. In each of the one or more customized function inquiry stages, a corresponding inquiry 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 customized installation stages to install corresponding multiple second customized functions; and multiple customized anti-install stages to remove all installed first customized functions and installed second functions 2. Customized function.
TW109106038A 2020-02-25 2020-02-25 Application maintaining method TWI740393B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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