Hi,
I've tried a bit to find an easy solution to install without local administration right. I use WIX 3.11.
The easiest one is quite simple. Microsoft installer handles all the stuff with the folders, putting the registry keys to the right location. The major things are:
- Add to <Package>
-- InstallScope='perUser'
-- InstallPrivileges='limited'
- Add SetProperty:
<SetProperty Id="ProgramFilesFolder" Value="[LocalAppDataFolder]" Before="CostFinalize"><![CDATA[NOT Privileged]]></SetProperty>
- Don't use advanced WIX UI (User Interface)
- Register to EA: RegistryKey Root="HKCU" Key="Software\Sparx Systems\EAAddins\hoReverse">
- Register dll: <RegistryValue Root="HKCR" Key="CLSID\...
(Standard for WIX tool Heat)
I think about making this easy approach to always install for a user to my standard method. Easy to develop and to use! You can see an example in hoTools, branch Development, AaddinSimpleNoAdminSetup.
It's possible to make an *.msi file with WIX for per user or per-machine install. It took me a while to figure it out and to get it running. During install you have to go to advanced (not click install) to make a proper per-user install without asking for admin. See the references.
It's complicated, and you have to install in Advanced Mode to get it properly working without asking for admin rights. The main things are:
- Register to EA: RegistryKey Root="HKMU" Key="Software\Sparx Systems\EAAddins\hoReverse">
- Register dll: <RegistryValue Root="HKCR" Key="CLSID\...
(Standard for WIX tool Heat)
The Installer keeps care of the correct location in the registry (user/machine).
You can see it at GITHUB in my hoReverse, Branch Development.
I would also like to hear about your experiences.
Summary:
- Install per user without admin rights is quite simple with WIX
- Install with GUI for per user and per machine may cause you long nights. But it works with one drawback I know about.
Best regards,
Helmut
- Basics: Single Package Authoring
https://msdn.microsoft.com/en-gb/library/dd408068.aspx?f=255&MSPPError=-2147217396- Proper UAC Control (for per machine / per user) in WiX
http://uvinw.com/per-machine-and-per-user-without-UAC-in-WiX/