It's not that you want to violate security, but that the situation
seems to be that now a limited user cannot create a HKLM key where
previously it apparently worked. My point about other users and HKCU
was that I couldn't tell if you were advertising a feature for the
same user or you were advertising in the sense that a different user
logs on and gets install on demand of "missing" items, but they would
typically be user profile items and not HKLM items.

Regardless of the elevation of the original install, it's not clear to
me that a limited user is allowed to create HKLM items under any
circumstances that aren't somehow blessed by an administrator. I don't
exactly know the privileges of the actors in your scenarios of repair
and advertisement, sorry if I missed that. There's also the logging
policy option - if you're not getting logging for the advertise error
the system-wide logging policy might tell you what's going on. If you
still have the original MSI that worked ok you could reproduce the
original working scenario with a log, or reverse engineer what's
different by looking at the MSI files. Assuming the actors are limited
users, the kind of thing that might have happened is that the old MSI
worked accidently because of some issue that caused a repair to
install that key. That's different from a situation where the new MSI
is more explicitly trying to have a limited user create a HKLM item.
I think that's the general are I'd look at based on that starting
theory, and look for logs and other data that might support or
disprove it, and at the keypaths and component/feature ownership of
the items.
---------------
Phil Wilson


On Fri, Apr 11, 2014 at 4:06 PM, Phill Hogland <phogl...@rimage.com> wrote:
> I don't want to violate the security.  The applications in the bundle were
> installed on the first install in a per-machine install.  Burn was elevated
> at the UAC prompt. There are many other keys which are part of this app
> which are also written under HKLM.  (I am not intending to do a per-user
> install.)
>
> However in one MSI package in my bundle chain, the only Feature had:
> <Feature Id="QuickDisc" Title="$(var.AppName)" Level="1"
> InstallDefault="local" TypicalDefault="advertise">
>
> and there is a shortcut on the desktop which is advertised.
>
> So for some time now (testing on Windows 8) I run the bundle and all
> packages get installed, but the files related to this particular package do
> not get installed, until after the bundle completes and I click on the
> application's desktop shortcut.  At which point msiexec launches the package
> to do what I am calling the 'advertised' install of the files, and then
> launches the application.  (I did not realize that it is a 'repair' if that
> is the case.)  So these registry keys that write to HKLM have been part of
> the package for some time, but only recently does this one fragment, which I
> moved from one wxs to another wxs file start displaying this error.  The log
> for this package when Burn is running is verbose, but when the shortcut
> launches msiexec only the error line is displayed.  I will work on this more
> next week.
>
> Since I want to install the application on a per-machine basis (and write
> config info to HKLM) it sounds like I should not allow the feature to be
> advertised (or go back to the application developer and get them to write
> the application so that interaction with HKLM is not needed, which I would
> prefer).
>
> I think I assumed that when Burn was run, and UAC was accepted to elevate
> the install, that the automatic invoking of msiexec by clicking on the
> advertised shortcut would either also run elevated (or that the elevated
> stuff had already been done when the package was launched by burn as a
> per-machine ALLUSER=1 package).  So am a little confused wondering:
> 1) why it worked for so long and when I moved source code it stopped
> working?  (I know, I should know what I changed more than others.)   But I
> wonder if I am missing something in understanding this.
> 2) If the install of the application (by clicking on the advertised
> shortcut) is in a per user context, and this is a per-machine setup, should
> I disable advertising the feature?  or do something else to prevent this?
>
> In the MSI package (on Win 7 and later, based on the MSDN ALLUSERS docs)
> should set the properties in my MSI of ALLUSERS and  MSIINSTALLPERUSER to
> assure a per-machine installation?
>
> I'm just wondering what the best approach for a per-machine installation,
> and not trying to do something that would violate security.
> thanks for any advice.
>
>
>
>
> --
> View this message in context: 
> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/advertised-install-and-user-permissions-tp7594058p7594083.html
> Sent from the wix-users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Put Bad Developers to Shame
> Dominate Development with Jenkins Continuous Integration
> Continuously Automate Build, Test & Deployment
> Start a new project now. Try Jenkins in the cloud.
> http://p.sf.net/sfu/13600_Cloudbees
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to