Click here to Skip to main content
15,914,165 members
Home / Discussions / C#
   

C#

 
GeneralRe: Can't use System.Version in webservice method Pin
Jan R Hansen14-Jun-04 4:35
Jan R Hansen14-Jun-04 4:35 
GeneralRe: Can't use System.Version in webservice method Pin
Heath Stewart14-Jun-04 4:44
protectorHeath Stewart14-Jun-04 4:44 
GeneralInterop and Collections Pin
ddcs13-Jun-04 21:00
ddcs13-Jun-04 21:00 
Generalsetup project Pin
Dpriya13-Jun-04 20:46
Dpriya13-Jun-04 20:46 
GeneralRe: setup project Pin
The_Soul_Of_Rock13-Jun-04 21:11
The_Soul_Of_Rock13-Jun-04 21:11 
GeneralRe: setup project Pin
Dpriya14-Jun-04 1:17
Dpriya14-Jun-04 1:17 
GeneralRe: setup project Pin
Serge Lobko-Lobanovsky14-Jun-04 2:17
Serge Lobko-Lobanovsky14-Jun-04 2:17 
GeneralRe: setup project Pin
Heath Stewart14-Jun-04 3:35
protectorHeath Stewart14-Jun-04 3:35 
You can interop with the msi.dll COM server to get access to the database and package methods, or you can P/Invoke the exported C-style functions from the same DLL.

You can query the component's installation directory at any time using MsiGetComponentPath, where you pass the ProductCode, the ComponentId, and a path buffer plus it's maximum declared size. See the Windows Installer SDK in MSDN[^] for more details.

There's a catch, though: VS.NET's Windows Installer project sucks. It will generate new ComponentIds each time you recompile and doesn't let you specify a feature/component layout. I'd recommend getting a decent Windows Installer development environment like Wise for Windows Installer[^].

Finally, whether or not that file changes often Windows Installer is designed to allow for such changes and you should not copy the file manually. Windows Installer is an installation package manager - not just a simple install runtime. Just add the changed file to your setup project and make sure that the project's property "RemovePreviousVersions" is set to True and that the "UpgradeCode" never changes. Also change the "Version" according to how much changed (it's really up to you).

If you'd like, you can generate a patch (.msp file) that is the difference between two installation packages. Again, though, because of the Windows Installer's short-comings this would be difficult and would require manual, post-build steps.

This is the correct way to distribute updates to your product.

If you're interested in Windows Installer, see Widnows Installer[^].

 

Microsoft MVP, Visual C#
My Articles
QuestionHow can I initialize tapiFax in C# Pin
GuruVN13-Jun-04 19:24
GuruVN13-Jun-04 19:24 
GeneralDataGridBoolColumn Pin
quocbao13-Jun-04 15:22
quocbao13-Jun-04 15:22 
GeneralRe: DataGridBoolColumn Pin
DougW4813-Jun-04 17:17
DougW4813-Jun-04 17:17 
GeneralRe: DataGridBoolColumn Pin
Heath Stewart13-Jun-04 18:47
protectorHeath Stewart13-Jun-04 18:47 
GeneralRe: DataGridBoolColumn Pin
DougW4814-Jun-04 9:22
DougW4814-Jun-04 9:22 
GeneralRe: DataGridBoolColumn Pin
Heath Stewart13-Jun-04 18:54
protectorHeath Stewart13-Jun-04 18:54 
Generalhelp about print Pin
ggl16513-Jun-04 15:01
ggl16513-Jun-04 15:01 
GeneralAttachment Database Pin
The_Soul_Of_Rock13-Jun-04 14:31
The_Soul_Of_Rock13-Jun-04 14:31 
GeneralRe: Attachment Database Pin
Heath Stewart13-Jun-04 18:45
protectorHeath Stewart13-Jun-04 18:45 
GeneralRe: Attachment Database Pin
The_Soul_Of_Rock13-Jun-04 21:09
The_Soul_Of_Rock13-Jun-04 21:09 
GeneralDelete FileDialog Pin
anatsg13-Jun-04 7:49
anatsg13-Jun-04 7:49 
GeneralRe: Delete FileDialog Pin
Heath Stewart13-Jun-04 18:37
protectorHeath Stewart13-Jun-04 18:37 
GeneralRe: Delete FileDialog Pin
anatsg14-Jun-04 9:11
anatsg14-Jun-04 9:11 
Generalsome int16[ ] arrays: OutOfMemoryException Pin
noizy13-Jun-04 7:39
noizy13-Jun-04 7:39 
GeneralRe: some int16[ ] arrays: OutOfMemoryException Pin
Colin Angus Mackay13-Jun-04 12:52
Colin Angus Mackay13-Jun-04 12:52 
GeneralMenu Images in ContextMenu Pin
gek_at13-Jun-04 7:13
gek_at13-Jun-04 7:13 
GeneralRe: Menu Images in ContextMenu Pin
Mazdak13-Jun-04 7:27
Mazdak13-Jun-04 7:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.