IRC Log Viewer » #firebreath » 2011-12-14

IRC Nick Time (GMT-7) Message
VictorAbrash 12:12 I built my plugin and (signed) MSI for installing on a per-machine basis. On Windows 7, I get the error "The installer has insufficient privileges to access this directory "C:\Program Files (x86)\MyCompany". Then it tells me to log on an admin (I already am). Has anyone seen this problem and have a solution?
FireBreathBot 12:12 VictorAbrash: 21 Sep 11:30Z <dougma> tell VictorAbrash in my experience, casting parameters from JSObjectPtr to JSAPIPtr derived types only works for me in IE.
VictorAbrash 12:12 So I'm guessing that the MSI isn't correctly asking for elevated privileges (with UAC)...?
taxilian 12:12 VictorAbrash: sounds like that must be the case; seems like you might have to pass some option to msiexec for that
I forget
I think there was something about it on the wiki
VictorAbrash 12:12 There is a workaround that you can run "msiexec /i mymsi.msi" from a command shell that is run as administrator. This isn't acceptable to my client, they need the MSI to "just work".
taxilian 12:12 hang on a minute
okay; so in my experience I've always had the MSI "just work" and windows elevated automatically as needed
but if it isn't it may be a computer config thing that you can't really predict
what you could do is wrap it in an NSIS plugin
so ti'd be an EXE with a MSI inside
you get the benefits of the MSI but the EXE does the elevation for you
VictorAbrash 12:12 That doesn't work on my Win7 system, nor on the clients.
taxilian 12:12 and I even have an example script I could give you if you want
VictorAbrash 12:12 (sorry, i meant that automatic elevation doesn't work in the MSI).
taxilian 12:12 I understood
if you want my nsi wrapper script let me know
I don't know what else to suggest
VictorAbrash 12:12 I'm pretty sure there would be Wix code that would fix this... so I was hoping somebody already had this.
taxilian 12:12 MSIs have some surprising limitations
!wiki msi
FireBreathBot 12:12 8 results found. Note: Results limited to 8
"Building on Windows": http://goo.gl/VYTcE
"PluginSigning": http://goo.gl/jrBRo
"Deploying and updating your plugin": http://goo.gl/SLofR
"Potential Installer Improvements": http://goo.gl/LAqSl
"Using FireBreath": http://goo.gl/IHwid
"WiX Installer Help": http://goo.gl/6WGDI
"Web Browser Plugins in the Age of Web Applications.pdf": http://goo.gl/vS7zB
"Boost survey results": http://goo.gl/rC2il
VictorAbrash 12:12 Thanks, I'd like to see the nsi stuff. Is there ahy reason to wrap the plugin in a msi inside a nsis, instead of just using the nsis stuff?
taxilian 12:12 yes; you get the advantages of the MSI
which are that it will always uninstall cleanly; it keeps track of what happened whne you installed, can uninstall by reversing it
less chance of leaving artifacts behind
what we do is deploy 3 versions of our installer
one regular; per-user permissions, exe file that wraps a MSI
lets us use a logo and store the MSI in a "safe" location because roaming profiles seem to lose track of MSI files for uninstall, which is really annoying
one MSI per-machine which we recommend for anyone using roaming profiles; they can install it using a group policy (MSIs are really nice for mass installing on a network )
and one EXE wrapping a MSI for per-machine that requires elevation
VictorAbrash 12:12 OK, that sounds like a good approach. Right now I have two MSIs, one per-user and one per-machine, but the per-machine isn't elevating.
taxilian 12:12 https://gist.github.com/1478122
let me add the code I use to run it from my projectDef file
VictorAbrash 12:12 Thank you.
taxilian 12:12 okay, the gist is updated with the fragment that I use to do the nsis step
VictorAbrash 12:12 OK, I'll have a look at it. Thanks very much.
taxilian 12:12 good luck
VictorAbrash 13:12 Richard, can you put up the user and machine wix files too? Thanks.
taxilian 13:12 it isn't any different
they are generated by the first one
Hmm. I think
maybe
let me look again
VictorAbrash 14:12 ..
shenberg 19:12 Erm
Can ScheduleOnMainThread fail silently?
shenberg 20:12 In case people care, the short answer is that yes, ScheduleOnMainThread can fail silently :/