Hi all,

i created WiX installer project for deploying my .net winform app on a customer 
machine. The app is very simple - it only scans some documents and saves the 
images to database on a server. The scanner is quite expensive device, there is 
only one in the company, but there are approx. four users that can occasionaly 
use it. This is the reason, why the app is installed just on a single 
workstation dedicated only for scanning - most of the time it is free and any 
of these users can come, scan the docs and go continuing his work.

Because the app is to be installed on a single machine and is supposed to be 
used by more than one user, i am doing a per-machine installation:  ALLUSERS is 
hardcoded to 1.

Because the database servers in production are not controlled by me and i do 
not really know, where the database will be stored, i can not pack correct 
ConnectionStrings.config file to the MSI archive. Instead of it, the MSI 
package just contains a general template of that file, which is then modified 
according parameter values provided by the user during install. For updating 
the connection strings I use util:XmlFile element. The connectionstrings.config 
file is stored in installation directory together with app binaries.

Everything seemed to work fine, until I simulated more users using this 
per-machine installation. Executed my wix setup project under user1-account, 
the XML config file had been correctly updated and then I launched the 
application and tested the connection strings are ok. Everything was fine.

Then I switched to another user account. The shortcut was already present in 
the program menu - just as I have expected since the installation is 
per-machine. So I clicked the shortcut and then (unexpectedly for me) a 
progress bar window "Wait until the configuration of product XY is finished." 
appeared. (Note that my machine locale is not english, the message would 
probably be slightly different on an english locale workstation). After few 
seconds the window disappeared and my application launched. Unfortunately it 
was not able to connect to the database, since the connectionStrings.config 
file has been rewritten. New connection strings have been saved using default 
property values, which are not valid.

I have been investigating why the setup launchs again whenever new user-account 
tries to use it. It is because of the shortcut element (the keypath is 
targetting HKCU). When I remove shortcut from WXS, MSI is not launched again 
after switching user context. Unfortunately I can not simply remove the 
shortcut from the installer :-).

Now I have setup program, which is able to configure connection to a database 
according to input parameters. But any later attempt to use the app from a 
second user-account just sends this configuration down the toilette. In 
production environment this would mean, that an administrator has to come and 
manually change the connection strings every time new user tries to use the 
app, which is of course unacceptable behavior.

The simplified version of my WiX project is attached.

I have tried to resolve the problem, but nothing helped me:
1) I have separated the <File> and the <util:XMLFIle> to independent components.
2) I Have Tried adding a <Condition>NOT INstalled</Condition> under these 
components.
3) I have tried writing a registry value to HKLM during installation. Added a 
RegistrSearch and Property for that registry value and then used that value as 
a condition (in fact just a replacement of "NOT Installed" from the previous)

Can anyone help with this?

Thanks in advice

Marek
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to