I am trying to develop a tool to extract MSI file contents in Java. I am googling to find the ways how to achieve this. I am finding tools to extract MSI contents which are developed in some other programming languages and all are available in exe formats. I dont want to use those exe files but to develop one tool purely in java. Please guide how to approach to achieve this task and is there any free third party libraries available for the same. If not, how to develop one and what may be the internal structure of a msi file. please help me to know the complete details about msi file format and how to handle this format with java. I emphasize this file should be purely manipulated using java and nothing else. Please guide me.
I assume you're speaking about the Microsoft Installer package. If it is the case, it has nothing to do with Swing, so moving the thread.
Didn't your Google search bring up this page? It mentions an Apache library to use, though I don't think it will be exactly easy to implement it. Also, 7-zip (which is an open source) can extract files from MSI archives; you might have a look at how does it achieve that. Or you might try to google msi file format specification and start from the scratch yourself. Complete details will be hard to come by, though, as MS didn't officially publish the MSI file format specs.
In any case, MSI files are inherently tied to Windows platform, so I don't understand your insistence on not using external tools.