I have extensive experience working in industries similar to what you 
describe (national security) and we had very formal controls as well.  Our 
ETRB ( external technology review board ) had us jump through a few hoops 
when we said we wanted to start using WiX.   Rob Mensching will probably 
recall a few emails I sent regarding fortify security scan results that 
were performed.  But all the approvals were obtained to use the DTF 
libraries and the WiX extension custom actions in our shipped product.   I 
also use DTF in my IsWiX tool to enable reflecting the attributes for a 
Dependency element by selecting 1:many MSM files.  ( Dependency table view 
)   I don't have any problems taking that dependency since it's CPL code.  
I also take a dependency on some XmlEditor controls that are part of 
SharpDevelop and licensed as LGPL.  


As for the status of DTF, I'd say the important parts are rock solid and 
work as-is.  I wish the LINQ to MSI portions had developed fully and that 
many of the sealed classes had interfaces for mocking but other then that 
I've never hit a major wall while developing or supporting a deployed 
system.  If I did, the source code is available if needed and it's actually 
one of the easier pieces of WiX to build yourself.

----------------------------------------

From: "Wilson, Phil" <phil.wil...@invensys.com>

Sent: Tuesday, January 03, 2012 6:46 PM

To: "General discussion for Windows Installer XML toolset." 
<wix-users@lists.sourceforge.net>

Subject: Re: [WiX-users] Querying the package 
and     installed       productarchitecture


I'm not suggesting using the code in that way, only that any complete 
example is a roadmap of how to perform a task in terms of the APIs that are 
called and in what order. 


What's the status of DTF these days? Does Microsoft support it? Because 
whether DTF rocks or not is irrelevant when a company has rules that 
severely restrict or prohibit distributing 3rd party code or Dlls. Two 
companies I've been involved with both prohibit any 3rd party code: these 
are environments where the SDL (security) process matters, where 3rd party 
code must have a support contract and pass security audits and so on. It's 
ok to use these types of tools for internal development but shipping them 
to customers is not allowed. So knowing how to P/Invoke or use native Win32 
APIs is necessary. 


Phil W 


-----Original Message-----

From: Christopher Painter [mailto:chr...@iswix.com] 

Sent: Tuesday, January 03, 2012 3:10 PM

To: General discussion for Windows Installer XML toolset.; General 
discussion for Windows Installer XML toolset.

Subject: Re: [WiX-users] Querying the package and installed 
productarchitecture


Ok, let's pretend I'm a .NET developer who doesn't know anything about MSI 


and I follow you're advice of reading through WiExport.vbs to understand 

the flow of exporting an IDT file.


First problem I'm going to hit is trying to add a reference to 

WindowsInstaller.Installer.  Last time I checked the interops (it's been 

years) won't generate correctly.  So I'm going to be writing all kinds of 

COM Interop wrappers or worse using a ProcessInfo class to shell out of 

process to the VBscript.  Laugh, but I see it done all the time.  


Or I can just add a reference to Microsoft.Deployment.WindowsInstaller and 


write:


using(Database database = new Database("foo.msi", 

DatabaseOpenMode.ReadOnly))


{


database.ExportAll(@"C:\");


}


It's really that easy and as clean as can be.  For extra bonus points the 

using statement will automatically call the Dispose() methods which will in 


turn clean up all those pesky unmanged handles.  


For the summary information stream I just say:


using( var summaryInformation = new SummaryInfo(@"foo.msi", false))


{


summaryInformation. // Intellisense kicks in .


}


I can now easily see that summaryInformation exposes Author, 

CharacterCount, CodePage et al.


The point is, managed code and DTF rocks.  DTF isn't just about writing 

custom actions, it's an all purpose interop assembly for anything needing 

to interact with Windows Installer and I find it really, really useful for 


writing build automation tasks and applications / utilities.   If you are 

writing managed code you should be using it.  If you are doing unmanged C++ 


then use the MSI API.  If someone is still writing VBScript instead of 

PowerShell and VB6 instead of C#/VB.NET  I really have to scratch my head 

and ask..... Why??


I'm not a "purist" I'm just pointing out the fact that the VBS files are 12 


years (at least) old and were only samples.  Sadly I've seen far too many 

people treat them as production libraries in their solutions.


----------------------------------------


From: "Wilson, Phil" <phil.wil...@invensys.com>


Sent: Tuesday, January 03, 2012 4:44 PM


To: "General discussion for Windows Installer XML toolset." 

<wix-users@lists.sourceforge.net>


Subject: Re: [WiX-users] Querying the package and installed 

productarchitecture


I think the sample VBScripts in the SDK are useful to the extent that they 


describe the flow for folks that aren't familiar with how to use the APIs. 


Exporting an MSI table with no guidance at all is a pain, but I can see 

from WiExport.vbs that I open the database, do an OpenView with a Select 

query, do a View fetch, and then get each record's string data. 


In this particular SummaryInfo case, WiSumInf.vbs is quite instructive on 

how to get the SummaryInfo for the Platform. I'm not a language purist to 

the extent that I'll ignore a working example, whatever language it might 

be!


Phil W 


-----Original Message-----


From: Christopher Painter [mailto:chr...@iswix.com] 


Sent: Friday, December 30, 2011 5:56 PM


To: g...@gocek.org; General discussion for Windows Installer XML toolset.; 


General discussion for Windows Installer XML toolset.


Subject: Re: [WiX-users] Querying the package and installed 

productarchitecture


It's nearly 2012 and I'd much rather use C# and DTF. Perhaps in 1999 those 



VBScript files were interesting and useful. I can understand the msi.h / 


msi.lib is still good for the unmanaged C++ guys out there and is certainly 



the foundation for DTF but the whole VBScript / ActiveScript / COM / 


Automation Interface world can RIP for all I care. Same goes for the POS 


Win32_Product class. 


----------------------------------------


From: "Gary Gocek" <g...@gocek.org>


Sent: Friday, December 30, 2011 7:28 PM


To: "General discussion for Windows Installer XML toolset." 


<wix-users@lists.sourceforge.net>


Subject: Re: [WiX-users] Querying the package and installed 


productarchitecture


There are tools in the Windows SDK (I am currently using v7) that can 


query


an MSI database. Look especially at the vbs scripts, you can invoke them


with SQL to query properties and tables.


http://msdn.microsoft.com/en-us/library/windows/desktop/aa372865(v=vs.85).as



px


Gary


> -----Original Message-----


> From: Alex Ivanoff [mailto:aivan...@vmware.com] 


> Sent: Friday, December 30, 2011 11:19 AM


> To: 'General discussion for Windows Installer XML toolset.'


> Subject: Re: [WiX-users] Querying the package and installed 


> productarchitecture


> 


> 


> I need to be able to do it programmatically.


> 


> 


> -----Original Message-----


> From: McCain, Jon [mailto:jon.mcc...@inin.com]


> Sent: Friday, December 30, 2011 07:31


> To: General discussion for Windows Installer XML toolset.


> Cc: McCain, Jon


> Subject: Re: [WiX-users] Querying the package and installed product 


> architecture


> 


> 1. Open the install in Orca


> 2. Click View -> Summary Information


> 3. The architecture type is listed under Platform.


> 


> Jon


> 


> -----Original Message-----


> From: Alex Ivanoff [mailto:aivan...@vmware.com]


> Sent: Thursday, December 29, 2011 6:17 PM


> To: 'General discussion for Windows Installer XML toolset.'


> Subject: [WiX-users] Querying the package and installed 


> product architecture


> 


> Is there a way to query the MSI package and/or installed product 


> architecture (x86 vs. x64)?


----------------------------------------------------------------------------



--


Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex


infrastructure or vast IT resources to deliver seamless, secure access to


virtual desktops. With this all-in-one solution, easily deploy virtual 


desktops for less than the cost of PCs and save 60% on VDI infrastructure 


costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox


_______________________________________________


WiX-users mailing list


WiX-users@lists.sourceforge.net


https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------


--


Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex


infrastructure or vast IT resources to deliver seamless, secure access to


virtual desktops. With this all-in-one solution, easily deploy virtual 


desktops for less than the cost of PCs and save 60% on VDI infrastructure 


costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox


_______________________________________________


WiX-users mailing list


WiX-users@lists.sourceforge.net


https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or 

attached files, is intended solely for the individual or entity to which it 


is addressed. This e-mail is confidential and may well also be legally 

privileged. If you have received it in error, you are on notice of its 

status. Please notify the sender immediately by reply e-mail and then 

delete this message from your system. Please do not copy it or use it for 

any purposes, or disclose its contents to any other person. This email 

comes from a division of the Invensys Group, owned by Invensys plc, which 

is a company registered in England and Wales with its registered office at 


3rd Floor, 40 Grosvenor Place, London, SW1X 7AW (Registered number 166023). 


For a list of European legal entities within the Invensys Group, please go 


to http://www.invensys.com/en/legal/default.aspx.


You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail 

recept...@invensys.com. This e-mail and any attachments thereto may be 

subject to the terms of any agreements between Invensys (and/or its 

subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 


affiliates).


----------------------------------------------------------------------------


--


Write once. Port to many.


Get the SDK and tools to simplify cross-platform app development. Create 


new or port existing apps to sell to consumers worldwide. Explore the 


Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join


http://p.sf.net/sfu/intel-appdev


_______________________________________________


WiX-users mailing list


WiX-users@lists.sourceforge.net


https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------
--

Write once. Port to many.

Get the SDK and tools to simplify cross-platform app development. Create 

new or port existing apps to sell to consumers worldwide. Explore the 

Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join

http://p.sf.net/sfu/intel-appdev

_______________________________________________

WiX-users mailing list

WiX-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or 
attached files, is intended solely for the individual or entity to which it 
is addressed. This e-mail is confidential and may well also be legally 
privileged. If you have received it in error, you are on notice of its 
status. Please notify the sender immediately by reply e-mail and then 
delete this message from your system. Please do not copy it or use it for 
any purposes, or disclose its contents to any other person. This email 
comes from a division of the Invensys Group, owned by Invensys plc, which 
is a company registered in England and Wales with its registered office at 
3rd Floor, 40 Grosvenor Place, London, SW1X 7AW (Registered number 166023). 
For a list of European legal entities within the Invensys Group, please go 
to http://www.invensys.com/en/legal/default.aspx.


You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail 
recept...@invensys.com. This e-mail and any attachments thereto may be 
subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 
affiliates).


----------------------------------------------------------------------------
--

Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex

infrastructure or vast IT resources to deliver seamless, secure access to

virtual desktops. With this all-in-one solution, easily deploy virtual 

desktops for less than the cost of PCs and save 60% on VDI infrastructure 

costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox

_______________________________________________

WiX-users mailing list

WiX-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to