KR101078660B1 - System and Method for Software Transformation - Google Patents
System and Method for Software Transformation Download PDFInfo
- Publication number
- KR101078660B1 KR101078660B1 KR1020080131707A KR20080131707A KR101078660B1 KR 101078660 B1 KR101078660 B1 KR 101078660B1 KR 1020080131707 A KR1020080131707 A KR 1020080131707A KR 20080131707 A KR20080131707 A KR 20080131707A KR 101078660 B1 KR101078660 B1 KR 101078660B1
- Authority
- KR
- South Korea
- Prior art keywords
- installation
- output
- execution
- registry
- software
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
- G06F8/4452—Software pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Abstract
본 발명은 소프트웨어 변환 시스템 및 방법에 대하여 개시한다. 본 발명의 일면에 따른 소프트웨어 변환 시스템은 윈도우 기반 시스템의 실제 레지스트리 하이브(Real Registry Hive) 및 실제 파일 시스템(Real File System)에 위치하는 가상 실행 환경; 상기 시스템에 기반하여 무설치 이동형 소프트웨어를 생성하기 위한 설치형 소프트웨어의 설치 프로세스 및 실행 프로세스를 구동시키는 소프트웨어 변환 관리자; 및 상기 설치 프로세스 및 상기 실행 프로세스가 상기 가상 실행 환경을 참조하여 설치 정보 및 실행 정보를 생성하도록 하는 가상 실행 핸들러를 포함하되, 상기 설치 정보 및 상기 실행 정보를 무설치 이동형 소프트웨어 포맷으로 변환하는 것을 특징으로 한다.The present invention discloses a software conversion system and method. According to an aspect of the present invention, a software conversion system includes a virtual execution environment located in a real registry hive and a real file system of a windows based system; A software conversion manager for driving an installation process and an execution process of the installable software for generating the uninstallable mobile software based on the system; And a virtual execution handler for allowing the installation process and the execution process to generate installation information and execution information with reference to the virtual execution environment, wherein the installation information and the execution information are converted into an installationless portable software format. It is done.
Clean PC, 무결성, 클릭앤런, 무설치 이동형 소프트웨어, 가상 실행 환경 Clean PC, Integrity, Click-and-Run, Mobile Installation Software, Virtual Execution Environment
Description
본 발명은 무설치 이동형 소프트웨어의 이용에 관한 것으로서, 구체적으로는 무결성이 보장되지 않은 환경에서 무설치형 이동형 소프트웨어를 설치하거나 실행시킬 수 있도록 하는 소프트웨어 변환 시스템 및 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to the use of installation-free mobile software, and more particularly, to a software conversion system and method for enabling installation or execution of the installation-free mobile software in an environment where integrity is not guaranteed.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-015-02, 과제명: SaaS 기반 이동형 개인 맞춤 사무환경 제공 기술 개발].The present invention is derived from the research conducted as part of the IT new growth engine core technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Communication Research and Development. [Task management number: 2007-S-015-02, Title: SaaS-based mobile personalized office Development of environmental provision technology].
최근, USB 메모리 등의 휴대용 저장장치의 보급으로 사용자의 컴퓨터 사용 환경에 있어 많은 변화가 발생하였다. Recently, the spread of portable storage devices such as USB memory has caused a lot of changes in the user's computer use environment.
대표적으로, SW 배포 방식이 종래 CD나 다운로드 패키지 형태이던 것이 인터넷을 통한 원클릭 형태의 서비스로 전환되고 있으며, 전문 개발자뿐만 아니라 프로슈머들에 의하여 무설치형 서비스 SW도 증가하고 있다.Representatively, the SW distribution method has been converted to a one-click service through the Internet, which has been in the form of a CD or a download package, and an installable service SW is increasing by not only professional developers but also prosumers.
설치형 SW 패키지와 무설치형 휴대용 SW의 장점을 취하여 설치형 SW를 포터블 형태로 변환하여 휴대용 저장장치에서 마우스 클릭과 같은 간단한 실행 동작으 로 실행시킬 수 있도록 하는 기술도 등장하고 있다.Taking advantage of the installable SW package and the non-installable portable SW, a technology that converts the installed SW into a portable form and executes it with a simple execution action such as a mouse click on the portable storage device has emerged.
그런데, 종래의 설치형 SW에서 포터블 형태의 SW로의 변환은 다른 SW들은 설치되지 않고 운영체제만이 설치된 클린 컴퓨팅 환경을 필요로 한다. 때문에, 일반 사용자들이 제작하였지만 SW 또는 라이센스가 있는 패키지 SW를 포터블 형태의 설치형 SW로 변환하기 위해서는 타겟 시스템의 운영체제를 재설치하거나, Vmware와 같은 운영체제 수준의 가상화 환경을 구축해야 한다.However, the conversion from the conventional installed type SW to the portable type SW requires a clean computing environment in which only other operating systems are installed, not other SWs. Therefore, in order to convert the SW or licensed packaged SW into a portable type of SW that is manufactured by general users, the operating system of the target system must be reinstalled or an operating system-level virtualization environment such as Vmware must be built.
본 발명의 목적은 가상 실행 환경을 이용하여 무결성이 보장되지 않는 환경에서 무설치 이동형 소프트웨어를 설치 또는 실행시킬 수 있도록 하는 소프트웨어 변환 시스템 및 방법을 제공함에 있다.It is an object of the present invention to provide a software conversion system and method for enabling installation or execution of installation-free portable software in an environment where integrity is not guaranteed using a virtual execution environment.
본 발명의 다른 목적은 파일 IO 및 레지스트리 IO의 경로를 가상 실행 환경으로 변경하여 무결성을 갖는 환경의 파일 정보 및 레지스트리 정보를 추출할 수 있는 소프트웨어 변환 시스템 및 방법을 제공함에 있다.Another object of the present invention is to provide a software conversion system and method capable of extracting file information and registry information of an environment having integrity by changing paths of file IO and registry IO to a virtual execution environment.
전술한 문제점을 해결하고자, 본 발명의 일면에 따른 소프트웨어 변환 시스템은 윈도우 기반 시스템의 실제 레지스트리 하이브(Real Registry Hive) 및 실제 파일 시스템(Real File System)에 위치하는 가상 실행 환경; 상기 시스템에 기반하여 무설치 이동형 소프트웨어를 생성하기 위한 설치형 소프트웨어의 설치 프로세스 및 실행 프로세스를 구동시키는 소프트웨어 변환 관리자; 및 상기 설치 프로세스 및 상기 실행 프로세스가 상기 가상 실행 환경을 참조하여 설치 정보 및 실행 정보를 생성하도록 하는 가상 실행 핸들러를 포함하되, 상기 설치 정보 및 상기 실행 정보를 무설치 이동형 소프트웨어 포맷으로 변환하는 것을 특징으로 한다.In order to solve the above problems, a software conversion system according to an aspect of the present invention includes a virtual execution environment located in a real registry hive and a real file system of a Windows-based system; A software conversion manager for driving an installation process and an execution process of the installable software for generating the uninstallable mobile software based on the system; And a virtual execution handler for allowing the installation process and the execution process to generate installation information and execution information with reference to the virtual execution environment, wherein the installation information and the execution information are converted into an installationless portable software format. It is done.
본 발명에 따르면, 휴대용 저장 장치에서 클릭앤런 방식으로 무결성이 보장되는 않은 환경에서 무설치 이동형 소프트웨어를 변환할 수 있으므로, 무설치 이동 형 소프트웨어로 변환하기 위하여 클린 피씨 환경을 구축할 필요가 없다. According to the present invention, since the installation-free portable software can be converted in the environment where the integrity is not guaranteed by the click-and-run method in the portable storage device, there is no need to establish a clean PC environment in order to convert the installation-free portable software.
또한, 본발명은 무설치 이동형 소프트웨어를 제공함에 따라 사용자 작업의 이동성을 높일 수 있으며, 나아가 개인 맞춤형 이동 가능한 작업 환경 및 이동형 소프트웨어 플랫폼을 제공할 수 있다.In addition, the present invention can increase the mobility of the user's work by providing the installation-free mobile software, and can further provide a personalized mobile work environment and mobile software platform.
이하, 도 1을 참조하여 본 발명의 실시예에 따른 소프트웨어 변환 시스템에 대하여 설명한다. 도 1은 본 발명의 실시예에 따른 소프트웨어 변환 시스템을 도시한 구성도이다.Hereinafter, a software conversion system according to an embodiment of the present invention will be described with reference to FIG. 1. 1 is a block diagram showing a software conversion system according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 소프트웨어 변환 시스템(10)은 소프트웨어 변환 관리자(100), 가상 실행 핸들러(200) 및 가상 실행 환경(300)을 포함한다.As shown in FIG. 1, a
소프트웨어 변환 관리자(100)는 설치형 소프트웨어의 설치 프로세스를 구동시켜 설치 프로세스 정보를 가상 실행 핸들러(200)로 전송한다. 또한, 소프트웨어 변환 관리자(100)는 설치형 소프트웨어의 실행 프로세스를 구동시켜 실행 프로세스 정보, 실행 파일 정보 및 실행 레지스트리 정보를 가상 실행 핸들러(200)로 전송한다.The
소프트웨어 변환 관리자(100)는 클린 운영체제 이미지를 참조하여 가상 실행 핸들러(200)에 의해 설치되는 소프트웨어 파일 및 레지스트리 정보를 추출하며, 설치된 소프트웨어를 최초로 실행할 때 소프트웨어 실행 정보를 추출하여 이동형 소프트웨어 포맷으로 변환한다.The
가상 실행 핸들러(200)는 윈도우 사용자 수준의 API 후킹을 위한 DLL 라이브러리로 이루어지며, 설치 및 실행되는 프로세스의 파일 및 레지스트리 입출력을 사용자 수준에서 리다이렉션한다.The
가상 실행 환경(300)은 소프트웨어 설치 정보가 참조해야하는 클린 운영체제 이미지를 구축하고, 설치 및 실행 정보를 수집하기 위한 다중 가상 실행 환경으로 구축한다. 상세하게는, 가상 실행 환경(300)은 가상 파일 시스템 영역과 가상 레지스트리 하이브로 구성될 수 있는데, 가상 파일 영역은 실제 윈도우 파일 시스템(Real File System)의 일정 부분을 윈도우 시스템 관련 폴더의 루트 폴더로 설정하여 구축될 수 있으며, 가상 레지스트리 하이브는 실제 레지스트리 하이브(Real Registry Hive)의 일정 영역을 이용하여 구축될 수 있다. 이때, 다중 가상 실행 환경(300)은 Copy-on-Write 스킴을 이용하여 동작될 수 있다.The
또한, 가상 파일 시스템 영역과 가상 레지스트리 하이브는 각각 검색용 가상 실행 환경 및 설치용 가상 실행 환경을 갖는데, 검색용 가상 실행 환경은 읽기, 열기에 사용될 수 있으며, 설치용 가상 실행 환경은 쓰기 및 생성에 사용될 수 있다.In addition, the virtual file system area and the virtual registry hive each have a virtual execution environment for search and a virtual execution environment for installation, where the virtual execution environment for search can be used for reading and opening, and the virtual execution environment for installation can be used for writing and creating. have.
요약하면, 소프트웨어 변환 관리자(100)에 의해 설치형 소프트웨어의 설치 프로세스가 실행되면, 가상 실행 환경에 소프트웨어가 설치되면서 설치 정보가 추출되며, 소프트웨어 변환 관리자(100)에 의하여 설치형 소프트웨어의 실행 프로세스가 실행되면, 가상 실행 핸들러(200)에 의해 경로변경이 발생하여 가상 실행 환경에서 소프트웨어가 실행되면서 실행 정보가 추출될 수 있다.In summary, when the installation process of the installable software is executed by the
그리고, 소프트웨어 변환 관리자(100)는 설치 정보 및 실행 정보를 이용하여 무설치 이동형 소프트웨어를 생성할 수 있다.In addition, the
도 2는 본 발명의 실시예에 따른 소프트웨어 변환 시스템(10)의 설치 프로세스 구동 과정을 도시한 흐름도이다.2 is a flowchart illustrating a process of driving an installation process of the
도 2를 참조하면, 먼저, 소프트웨어 변환 관리자(100)가 설치형 소프트웨어의 설치 프로세스(110)를 실행시킨다(S210). 이때, 설치 프로세스 진행 이전에 다중 실행 환경이 구축되어 있어야 한다.2, first, the
이어서, 설치 프로세스(110)가 파일 및 레지스트리 IO를 생성하여 실제 API를 호출한다(S220).Subsequently, the
그 다음으로, 가상 실행 핸들러(200)가 호출된 API를 가로채서 가상 실행 환경으로 경로를 변경한 다음, 가상 실행 환경의 API를 호출한다(S230).Next, the virtual execution handler 200 intercepts the called API and changes the path to the virtual execution environment, and then calls the API of the virtual execution environment (S230).
그리고, 설치 프로세스(110)가 가상 실행 환경에서 설치 과정을 수행하며, 설치 파일 및 레지스트리 정보를 생성한다(S240). 즉, 설치 프로세스(110)는 실제 API를 호출하지만, 가상 실행 핸들러(200)의 개입으로 인하여 가상 실행 환경에서 설치 파일 및 레지스트리 정보가 생성되는 것이다.In addition, the
도 3은 본 발명의 실시예에 따른 소프트웨어 변환 시스템(10)의 실행 프로세스 구동 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of driving an execution process of the
도 3을 참조하면, 먼저, 소프트웨어 변환 관리자(100)가 설치형 소프트웨어의 실행 프로세스(120)를 실행시킨다(S310).Referring to FIG. 3, first, the
이어서, 실행 프로세스(120)가 파일 및 레지스트리 IO를 생성하여 실제 API를 호출한다(S320).Subsequently, the
그 다음으로, 가상 실행 핸들러(200)가 호출된 API를 가로채서 가상 실행 환경으로 경로를 변경한 다음, 실제 API를 호출한다(S330).Next, the
그러면, 실행 프로세스(120)가 가상 실행 환경에서 실행 과정을 수행하며, 실행 파일 및 레지스트리 정보를 생성한다(S340). 즉, 실행 프로세스(120)는 실제 API를 호출하지만, 가상 실행 핸들러(200)의 개입으로 인하여 가상 실행 환경에서 실행 파일 및 레지스트리 정보가 생성되는 것이다.Then, the
소프트웨어 변환 관리자(100)는 도 2 및 도 3의 과정을 수행한 다음, 설치용 가상 실행 환경에 생성되는 설치 정보 및 실행 정보를 이동형 소프트웨어 포맷으로 변환한다.After performing the process of FIGS. 2 and 3, the
도 4는 가상 실행 핸들러(200)가 레지스트리 IO를 리다이렉션하는 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process in which the
도 4를 참조하면, 먼저, 가상 실행 핸들러(200)는 설치 프로세스(110)로부터 레지스트리 IO를 전달받는다(S410).Referring to FIG. 4, first, the
그리고, 가상 실행 핸들러(200)는 전달받은 레지스트리 IO의 API에서 Process ID가 설치 프로세스 ID(Install Process ID)인지를 확인한다(S420).Then, the
가상 실행 핸들러(200)는 설치 프로세스 ID이면(S420), API의 종류가 열기(Open)인지를 확인한다(S430).If the
가상 실행 핸들러(200)는 API의 종류가 열기이면(S430), 전달받은 레지스트리 IO의 경로를 검색용 가상 실행 환경(Virtual Execution Environment for Query)으로 변경한다(S440).If the type of API is open (S430), the
반면, 가상 실행 핸들러(200)는 API의 종류가 생성(Create)이면(S430), 전달받은 레지스트리 IO의 키 값을 실행 레지스트리 정보에 추가한다(S450).On the other hand, if the type of API is Create (Create), the
그 다음으로, 가상 실행 핸들러(200)는 실행 레지스트리 정보에 키 값이 추가된 레지스트리 IO의 경로를 설치용 가상 실행 환경(Virtual Execution Environment for Install)으로 변경한다(S460).Next, the
이후, 가상 실행 핸들러(200)는 실제 레지스트리 IO(Real Registry IO)를 호출한다(S470).Thereafter, the
여기서, 가상 실행 핸들러(200)는 실행 레지스트리 정보에 키 값이 추가된 것을 확인하여 설치용 가상 실행 환경으로 경로를 변경할 수 있다.Here, the
도 5는 가상 실행 핸들러(200)가 파일 IO를 리다이렉션하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process in which the
도 5를 참조하면, 먼저, 가상 실행 핸들러(200)는 설치 프로세스(110)로부터 파일 IO를 전달받는다(S510).Referring to FIG. 5, first, the
이어서, 가상 실행 핸들러(200)는 전달받은 파일 IO의 API에서 PID(Process ID)가 설치 PID(Install Process ID)인지를 확인한다(S520).Subsequently, the
가상 실행 핸들러(200)는 설치 PID이면(S520), API의 종류가 열기(Open)인지를 확인한다(S530).If the
이때, 가상 실행 핸들러(200)는 API의 종류가 열기이면(S530), 전달받은 파일 IO의 경로를 검색용 가상 실행 환경(Virtual Execution Environment for Query)으로 변경한다(S540).At this time, if the type of API is open (S530), the
반면, 가상 실행 핸들러(200)는 API의 종류가 생성(Create)이면(S530), 전달받은 파일 IO의 키 값을 실행 파일 정보에 추가한다(S550).On the other hand, if the type of API is Create (Create), the
그 다음으로, 가상 실행 핸들러(200)는 실행 파일 정보에 키 값이 추가된 파일 IO의 경로를 설치용 가상 실행 환경(Virtual Execution Environment for Install)으로 변경한다(S560). Next, the
이후, 가상 실행 핸들러(200)는 실제 파일 IO(Real File IO)를 호출한다(S570).Thereafter, the
여기서, 가상 실행 핸들러(200)는 실행 레지스트리 정보에 키 값이 추가된 것을 확인하여 설치용 가상 실행 환경으로 경로를 변경할 수 있다.Here, the
도 6은 가상 실행 핸들러(200)가 레지스트리 IO를 리다이렉션하는 과정을 도시한 흐름도이다.6 is a flowchart illustrating a process in which the
도 6을 참조하면, 먼저, 가상 실행 핸들러(200)는 실행 프로세스(120)로부터 레지스트리 IO를 전달받는다(S610).Referring to FIG. 6, first, the
이어서, 가상 실행 핸들러(200)는 전달받은 레지스트리 IO의 API에서 PID가 실행 PID(Application Process ID)인지를 확인한다(S620).Subsequently, the
가상 실행 핸들러(200)는 PID가 실행 PID이면(S620), API의 종류가 읽기(Read)인지를 확인한다(S630).If the PID is the execution PID (S620), the
그리고, 가상 실행 핸들러(200)는 API의 종류가 읽기이면(S630), 레지스트리 키가 실행 레지스트리 정보에 존재하는지를 확인한다(S640).If the type of API is read (S630), the
이때, 가상 실행 핸들러는 실행 레지스트리 정보에 레지스트리 키가 존재하 지 않으면(S640), 전달받은 레지스트리 IO의 경로를 검색용 가상 실행 환경(Virtual Execution Environment for Query)으로 변경한다(S650).At this time, if the registry key does not exist in the execution registry information (S640), the virtual execution handler changes the path of the received registry IO to a virtual execution environment for search (Virtual Execution Environment for Query) (S650).
반면, 가상 실행 핸들러(200)는 API의 종류가 쓰기(Write)이면(S630), 전달받은 레지스트리 IO의 키 값을 실행 레지스트리 정보에 추가한다(S660).On the other hand, if the type of API is a write (Write), the
그 다음으로, 가상 실행 핸들러(200)는 (S660)단계 및 (S740) 단계 실행 후에 실행 레지스트리 정보에 키 값이 추가된 것을 확인하고, 레지스트리 IO의 경로를 설치용 가상 실행 환경(Virtual Execution Environment for Install)으로 변경한다(S670).Next, the
이후, 가상 실행 핸들러(200)는 실제 레지스트리 IO(Real Registry IO)를 호출한다(S680).Thereafter, the
여기서, 가상 실행 핸들러(200)는 실행 레지스트리 정보에 키 값이 추가된 것을 확인하여 설치용 가상 실행 환경으로 경로를 변경하고, 실행 레지스트리 정보에 키 값이 추가되지 않은 것을 확인하여 검색용 실행 환경으로 경로를 변경할 수 있다.Here, the
도 7은 가상 실행 핸들러(200)가 파일 IO를 리다이렉션하는 과정을 도시한 흐름도이다.7 is a flowchart illustrating a process in which the
도 7을 참조하면, 먼저, 가상 실행 핸들러(200)는 실행 프로세스(120)로부터 파일IO를 전달받는다(S710).Referring to FIG. 7, first, the
이어서, 가상 실행 핸들러(200)는 전달받은 파일 IO의 API에서 PID가 실행 PID(Application Process ID)인지를 확인한다(S720).Subsequently, the
가상 실행 핸들러(200)는 PID가 실행 PID이면(S720), API의 종류가 읽기인지를 확인한다(S730).If the PID is the execution PID (S720), the
그리고, 가상 실행 핸들러(200)는 API의 종류가 읽기이면(S730), 레지스트리 키가 실행 레지스트리 정보에 존재하는지를 확인한다(S740).If the type of API is read (S730), the
이때, 가상 실행 핸들러는 실행 레지스트리 정보에 레지스트리 키가 존재하지 않으면(S740), 전달받은 파일 IO의 경로를 검색용 가상 실행 환경(Virtual Execution Environment for Query)으로 변경한다(S750).At this time, if the registry key does not exist in the execution registry information (S740), the virtual execution handler changes the path of the received file IO to a virtual execution environment for search (Virtual Execution Environment for Query) (S750).
반면, 가상 실행 핸들러(200)는 API의 종류가 쓰기이면(S730), 전달받은 파일 IO의 키 값을 실행 파일 정보에 추가한다(S760).On the other hand, if the type of API is write (S730), the
그 다음으로, 가상 실행 핸들러(200)는 (S760)단계 및 (S740) 단계 실행 후에 실행 파일 정보에 키 값이 추가되어 있으면, 파일 IO의 경로를 설치용 가상 실행 환경(Virtual Execution Environment for Install)으로 변경한다(S770).Next, if a key value is added to the executable file information after executing steps S760 and S740, the
이후, 가상 실행 핸들러(200)는 실제 파일 IO(Real File IO)를 호출한다(S780).Thereafter, the
여기서, 가상 실행 핸들러(200)는 실행 레지스트리 정보에 키 값이 추가된 것을 확인하여 설치용 가상 실행 환경으로 경로를 변경하고, 실행 레지스트리 정보에 키 값이 추가되지 않은 것을 확인하여 검색용 실행 환경으로 경로를 변경할 수 있다.Here, the
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자 라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허 청구범위의 기재에 의하여 정하여져야 할 것이다.As mentioned above, the configuration of the present invention has been described in detail with reference to the accompanying drawings, which are merely examples, and those skilled in the art to which the present invention pertains various modifications and changes within the scope of the technical idea of the present invention. Of course this is possible. Therefore, the protection scope of the present invention should not be limited to the above-described embodiment, but should be defined by the following claims.
도 1은 본 발명의 실시예에 따른 소프트웨어 변환 시스템을 도시한 구성도.1 is a block diagram showing a software conversion system according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 소프트웨어 변환 시스템의 설치 프로세스 구동 과정을 도시한 흐름도.2 is a flowchart illustrating a process of driving an installation process of a software conversion system according to an exemplary embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 소프트웨어 변환 시스템의 실행 프로세스 구동 과정을 도시한 흐름도.3 is a flowchart illustrating a process of driving an execution process of a software conversion system according to an embodiment of the present invention.
도 4는 가상 실행 핸들러가 레지스트리 IO를 리다이렉션하는 과정을 도시한 흐름도.4 is a flow diagram illustrating a process in which a virtual execution handler redirects registry IO.
도 5는 가상 실행 핸들러가 파일 IO를 리다이렉션하는 과정을 도시한 흐름도.5 is a flowchart illustrating a process in which a virtual execution handler redirects file IO.
도 6은 가상 실행 핸들러가 레지스트리 IO를 리다이렉션하는 과정을 도시한 흐름도.6 is a flow diagram illustrating a process in which a virtual execution handler redirects registry IO.
도 7은 가상 실행 핸들러가 파일 IO를 리다이렉션하는 과정을 도시한 흐름도.7 is a flowchart illustrating a process in which a virtual execution handler redirects file IO.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080131707A KR101078660B1 (en) | 2008-12-22 | 2008-12-22 | System and Method for Software Transformation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080131707A KR101078660B1 (en) | 2008-12-22 | 2008-12-22 | System and Method for Software Transformation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100073119A KR20100073119A (en) | 2010-07-01 |
KR101078660B1 true KR101078660B1 (en) | 2011-11-01 |
Family
ID=42636139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080131707A KR101078660B1 (en) | 2008-12-22 | 2008-12-22 | System and Method for Software Transformation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101078660B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100506069B1 (en) | 2003-07-30 | 2005-08-03 | 소프트온넷(주) | A system for repackaging application software for streaming of application software and method thereof |
US20070006217A1 (en) | 2005-06-29 | 2007-01-04 | Macrovision Corporation | Method and system for pre-deployment conflict checking |
-
2008
- 2008-12-22 KR KR1020080131707A patent/KR101078660B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100506069B1 (en) | 2003-07-30 | 2005-08-03 | 소프트온넷(주) | A system for repackaging application software for streaming of application software and method thereof |
US20070006217A1 (en) | 2005-06-29 | 2007-01-04 | Macrovision Corporation | Method and system for pre-deployment conflict checking |
Also Published As
Publication number | Publication date |
---|---|
KR20100073119A (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101928127B1 (en) | Selective file access for applications | |
JP6018590B2 (en) | Application compatibility with library operating system | |
US20160162451A1 (en) | Online software execution platform | |
EP2705422B1 (en) | Dynamically redirecting boot to another operating system | |
CN100481101C (en) | Method for computer safety start | |
JP2007172586A (en) | Method, apparatus and computer program for sharing computer data among computers | |
KR20040063837A (en) | Method and system for recording macros in a language independent syntax | |
US20110239199A1 (en) | Program compiler, program installer, and program install method | |
US20160077831A1 (en) | Accurate and performant code design using memoization | |
JP2016511497A (en) | Javascript debugging using just my code | |
US20200026554A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US20120158688A1 (en) | Button-activated contextual search | |
US20080154574A1 (en) | Application emulation on a non-production computer system | |
KR101078660B1 (en) | System and Method for Software Transformation | |
CN115659340B (en) | Counterfeit applet identification method and device, storage medium and electronic equipment | |
KR101441999B1 (en) | Apparatus for separating contents in separating execution based, method thereof and computer recordable medium storing the method | |
KR100755697B1 (en) | Method, apparatus, and system for installing software | |
KR102122968B1 (en) | System and method for analyzing of application installation information | |
CN101770396B (en) | Method and device for erasing DMI data under Linux system | |
US20120102473A1 (en) | Abstract method removal for reduced memory footprint with optimizer tool | |
CN114911541A (en) | Configuration information processing method and device, electronic equipment and storage medium | |
Gupta et al. | Virtual machine for IOS devices | |
JPWO2015001615A1 (en) | Virtual machine management method, virtual machine management apparatus, and virtual machine management program | |
CN113032273B (en) | Application program debugging method and device, computer equipment and storage medium | |
KR20110052135A (en) | Portable software based on single executable file using application file system and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140926 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151021 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |