views:

265

answers:

3

I used windows installer (msi project) and actually I have the msi file after installation it throws a shortcuts to the desktop.

My problem is when i double-click on the shortcut for my application, it displays somthing like the installation then it runs my application. I don't want the installtion windows to appear where my application doesn't need to throw any file or to install something before running all pre-requests are installed through the msi file. I want that when the end-user clicks on the shortcut, it runs the application directly ...

I hope I explained my problem well.

One additional note i'm using VS 2005, C#

What if i want to remove this action where it always happens. everytime i double click on the exe file it appears this window . my application is not so complicated to so.

EDIT: where can i find the log file ?!?

please help. thnx indavence

+3  A: 

One of the "features" of the MSI installation system is that it can automatically repair some things when your application is run.

A good way to see this in action is to have two versions of Microsoft Office installed side-by-side. After running MS Word 2007, an invocation of MS Word 2003 will start with MsiExec popping up to fix a few things before the application starts.

Almost certainly, what you're seeing is this kind of repair - check the log file and find out what is being fixed, then alter your installation project so things aren't broken on first install.

Hope this helps.

Bevan
+1  A: 

That quick installer operations you saw is very often issue. I think it appears only on first run and never again. Never mind. Maybe Windows Installer service makes some registration, etc.

abatishchev
A: 

You might want to refer to How Windows Installer Shortcuts Work and Windows Installer Logging

The easiest solution if you really want to avoid this behaviour is to manually add a shortcut rather than having Windows Installer do it for you.

My guess is that you've probably got some HKCU keys in the installer that need to be checked/repaired for the current user. Have you run MSI validation? This can often highlight issues that cause unnecessary repairs.

sascha