Hi,
I am writing some kind of a file scanner, at certain time all of the files
under a certain directory will be scanned, this scan require de-compression
of common files formats such as ZIP and MSI, the ZIP file format is well
known so there is no problem of decompressing it manually, however, the MSI
format is less open… I wonder where can I find the MSI format ‘white papers’?
Are those ‘white papers’ are published? How can I programmaticall y brows .MSI
files ( without executing them )?
--
Nadav http://www.ddevel.com 6 8562
Nadav,
The MSI file format is not a compression format. Rather, there is a lot
of information in there about registry settings, shortcuts, etc, etc. Last
I checked, there were something like 70 different "tables" of sorts (along
with compression for data in those tables).
I think for now, the MSI format is only shared with certain vendors, and
to my knowledge, there is no published document on the MSI file format. To
that end, you might have to go with a third party that is a trusted vendor
(I believe one of the installation packages handles MSI file formats) and
interface with that.
Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m
"Nadav" <Na***@discussi ons.microsoft.c om> wrote in message
news:FA******** *************** ***********@mic rosoft.com... Hi,
I am writing some kind of a file scanner, at certain time all of the files under a certain directory will be scanned, this scan require de-compression of common files formats such as ZIP and MSI, the ZIP file format is well known so there is no problem of decompressing it manually, however, the MSI format is less open. I wonder where can I find the MSI format 'white papers'? Are those 'white papers' are published? How can I programmaticall y brows .MSI files ( without executing them )?
-- Nadav http://www.ddevel.com
It's unfortunately a non-trivial task.
There is a set of API functions to programatically work with MSI
files. Inside of the MSI file there is actually a set of database
tables with relationships. You can read more in the Platform SDK: http://msdn.microsoft.com/library/de..._reference.asp
Something else you might look at is Wix, which is a project Microsoft
has open sourced. You can "decompile" an MSI file into XML (and vice
versa): http://sourceforge.net/projects/wix
--
Scott http://www.OdeToCode.com/blogs/scott/
On Thu, 18 Nov 2004 08:03:05 -0800, "Nadav"
<Na***@discussi ons.microsoft.c om> wrote: Hi,
I am writing some kind of a file scanner, at certain time all of the files under a certain directory will be scanned, this scan require de-compression of common files formats such as ZIP and MSI, the ZIP file format is well known so there is no problem of decompressing it manually, however, the MSI format is less open… I wonder where can I find the MSI format ‘white papers’? Are those ‘white papers’ are published? How can I programmaticall y brows .MSI files ( without executing them )?
There is a utility provided with the SDK called ORCA that will allow you to
see the information in table format It might aid you in your efforts.
"Nadav" <Na***@discussi ons.microsoft.c om> wrote in message
news:FA******** *************** ***********@mic rosoft.com... Hi,
I am writing some kind of a file scanner, at certain time all of the files under a certain directory will be scanned, this scan require
de-compression of common files formats such as ZIP and MSI, the ZIP file format is well known so there is no problem of decompressing it manually, however, the
MSI format is less open. I wonder where can I find the MSI format 'white
papers'? Are those 'white papers' are published? How can I programmaticall y brows
..MSI files ( without executing them )?
-- Nadav http://www.ddevel.com
Hi Scott,
- Thanks for your immediate response, I need to figure out a way to extract
a single file from the MSI package with out doing any special installation
procedure.
- I was looking at the Msi API you were referring to , BUT, I didn't find an
API to extract a single file from the installation package, I can use the
'MsiInstallMiss ingFile' API, BUT, I assume that this will copy the file and
will perform additional installation procedure ( such as registering the file
), however, I need to extract the file with out installing it...
Any help would be appreciated...[*] How could I extract a single file from the MSI package with out
installing it ( e.g. registering it ) ?
Thanks in advance,
Nadav. http://www.ddevel.com
"Scott Allen" wrote: It's unfortunately a non-trivial task.
There is a set of API functions to programatically work with MSI files. Inside of the MSI file there is actually a set of database tables with relationships. You can read more in the Platform SDK: http://msdn.microsoft.com/library/de..._reference.asp
Something else you might look at is Wix, which is a project Microsoft has open sourced. You can "decompile" an MSI file into XML (and vice versa): http://sourceforge.net/projects/wix
-- Scott http://www.OdeToCode.com/blogs/scott/
On Thu, 18 Nov 2004 08:03:05 -0800, "Nadav" <Na***@discussi ons.microsoft.c om> wrote:
Hi,
I am writing some kind of a file scanner, at certain time all of the files under a certain directory will be scanned, this scan require de-compression of common files formats such as ZIP and MSI, the ZIP file format is well known so there is no problem of decompressing it manually, however, the MSI format is less open… I wonder where can I find the MSI format ‘white papers’? Are those ‘white papers’ are published? How can I programmaticall y brows .MSI files ( without executing them )?
"Nadav" <Na***@discussi ons.microsoft.c om> wrote in message
news:2C******** *************** ***********@mic rosoft.com... Any help would be appreciated... [*] How could I extract a single file from the MSI package with out installing it ( e.g. registering it ) ?
this might not help You, but Total Commander has a special add-on
"msi-plus.wcx" which allows user to browse through .msi files like through
..zip or .jar
it shows three sub-directories Dialogs, Streams and Tables and in Streams
folder there is .cab cabinet file that can be unpacked, and then You have
acces to installation files without installing anything
author of this add-on is Petr Bubela
RGDS PSG
HI Nadav:
You'll want to take a look at MsiRecordReadSt ream. It's been a while
since I have worked with the MSI API so I can't think of where the
specific examples are. You might want to poke around in the
microsoft.publi c.platformsdk.m si for API help.
--
Scott http://www.OdeToCode.com/blogs/scott/
On Sun, 21 Nov 2004 00:47:01 -0800, "Nadav"
<Na***@discussi ons.microsoft.c om> wrote: Hi Scott,
- Thanks for your immediate response, I need to figure out a way to extract a single file from the MSI package with out doing any special installation procedure. - I was looking at the Msi API you were referring to , BUT, I didn't find an API to extract a single file from the installation package, I can use the 'MsiInstallMis singFile' API, BUT, I assume that this will copy the file and will perform additional installation procedure ( such as registering the file ), however, I need to extract the file with out installing it...
Any help would be appreciated... [*] How could I extract a single file from the MSI package with out installing it ( e.g. registering it ) ?
Thanks in advance, Nadav. http://www.ddevel.com
"Scott Allen" wrote:
It's unfortunately a non-trivial task.
There is a set of API functions to programatically work with MSI files. Inside of the MSI file there is actually a set of database tables with relationships. You can read more in the Platform SDK: http://msdn.microsoft.com/library/de..._reference.asp
Something else you might look at is Wix, which is a project Microsoft has open sourced. You can "decompile" an MSI file into XML (and vice versa): http://sourceforge.net/projects/wix
-- Scott http://www.OdeToCode.com/blogs/scott/
On Thu, 18 Nov 2004 08:03:05 -0800, "Nadav" <Na***@discussi ons.microsoft.c om> wrote:
>Hi, > >I am writing some kind of a file scanner, at certain time all of the files >under a certain directory will be scanned, this scan require de-compression >of common files formats such as ZIP and MSI, the ZIP file format is well >known so there is no problem of decompressing it manually, however, the MSI >format is less open… I wonder where can I find the MSI format ‘white papers’? >Are those ‘white papers’ are published? How can I programmaticall y brows .MSI >files ( without executing them )?
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Query Builder |
last post by:
I am new to BCP. Can anyone help me understand this? I tried searching
the BOL but it doesnt show much help on syntex. Lets say I have a
simple table and want to out put the records into a file. Then with
that output file, I want to create a format file using the BCP utillity
and builk insert it into another table. Can someone explain me the
syntex involved in this.. No need to go so elabrate.. Just give me a
basic senario and just the...
|
by: Lokkju |
last post by:
I am pretty much lost here - I am trying to create a managed c++
wrapper for this dll, so that I can use it from c#/vb.net, however, it
does not conform to any standard style of coding I have seen. It is
almost like it is trying to implement it's own COM interfaces...
below is the header, and a link to the dll+code:
Zip file with header, example, and DLL:...
|
by: Namratha Shah \(Nasha\) |
last post by:
Hi All,
This is a resource file generation tool which converts an xml based resource formats to .net resource file i.e. (.resources) and vice-versa.
Today we will see how we will generate
==> .txt files from .resources or .resx files.
==> .resources files from text or .resx files.
|
by: suresh_C# |
last post by:
Dear All,
What is difference between Portable Executable (PE) file and a Assembly?
Thanks,
Mahesh
|
by: KR |
last post by:
I am trying to copy the data in excel file into a table using the bcp
and this is the code that I have. However the bcp utility does not
seem to create a format file, which I thought it should do. I am
probably going about this all wrong so any help would be useful.
exec master..xp_cmdshell '(FOR %i IN ("E:\WUTemp\*") DO (bcp
#ProspectImportTest in "%i" -fE:\WUTemp\Prospect.fmt)'
bulk insert #ProspectImportTest from 'E:\WUTemp\*."'...
| |
by: steve |
last post by:
Hi all,
Here's some work in progress that should allow you to run a batch file as a
custom action in a VS deployment project. Yup I know you can use js or wsh,
but the target may not have either.. Essentially it's just a wrapper for the
Process class and a command interpreter.
Warning, it only partly works. I had wanted to pass in
(a) The name of the batch file (through "BatchFileName"), and
|
by: JimmyKoolPantz |
last post by:
IDE: Visual Studio 2005
Language: VB.NET
Fox Pro Driver Version: 9.0.0.3504
Problem: I currently have a problem altering a DBF file. I do not get
any syntax errors when running the program. However, after I alter the
table and open microsoft excel to look at any changes; I get the
following error: "This file is not in a recognizable format" If I do
open the file in excel it looks like its not formatted.
|
by: forest demon |
last post by:
for example, let's say I do something like,
System.Diagnostics.Process.Start("notepad.exe","sample.txt");
if the user does a SaveAs (in notepad), how can i capture the path that
the user selects?
thanks...
|
by: karthikla |
last post by:
Hi Experts,
Could you please help me on how to get access 2002 file format exactly
while doing conversion from Access 97 file format by
DBEngine.CompactDatabase() function?
Code:
Private Sub Command1_Click()
DBEngine.CompactDatabase "c:\ss97.mdb", "c:\ss2002.mdb",
|
by: sonu |
last post by:
hey good morning ......
how to convert a video file in .flv format in php for linux
hosting......is there any package whis provide this facility .
Can i use ffmpeg for linux hosting project..........
plz help me..
thanks & regards
Prabhat
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |