CeAppMgr.exe is the ActiveSync Add/Remove Programs utility. If you pass an .ini file which contains a list of .cab files, it registers those cab files as 'a program'. The intent is that the .cab files are the same product compiled for different processors/platforms.
ActiveSync stores this information in the registry under HKEY_LOCAL_MACHINE and therefore can only be written to by a privileged install. There is no HKCU part of this installer. However, the format of the keys under HKLM is not documented and the only supported way to write to them is to run CeAppMgr. You can specify the /register switch to have it merely register the fact that the program exists for installation, rather than have it install straight away. (If you just want to look, they're under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AppMgr\Apps.) There's no point attempting to implement undo custom actions for this, because CeAppMgr offers no way to uninstall a package. Virtual PC and ActiveSync have nothing in common. The Windows CE Emulators before VS2005 were based on Virtual PC technology, so you couldn't run them within a virtual machine, but ActiveSync itself is fine. However, Virtual PC does not implement USB virtualization, so for most devices you won't be able to sync the device with the virtual machine. I believe VMWare does but haven't tried it. I'm afraid I think you need a per-machine installation, or forget about ActiveSync's Add/Remove Programs applet. -- Mike Dimmick -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson Sent: 26 March 2007 05:18 To: Anthony Wieser Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Custom actions and per user installs,and UAC problems Anthony Wieser wrote: > CEAPPMGR seems to require it to be run with admin privileges. I've already > specified that the msi file run elevated, but the actions seem to run as the > user, or in the namespace of the administrator, which still causes the > program not to be installed for the current user. > CAs run as the user with the user's rights by default. You can mark them for elevation but then they run as LocalSystem, not the user, which might not be what you're looking for, depending on what the ActiveSync thing wants (e.g., to register with the user's ID on the device). > Is there a better way around this? Do I need to build a special EXE to run > that does the dirty work, which requests the elevation in its manifest > instead. > Can you break the procedure up? Install the file elevated (needed to write to per-machine locations) and run AppMgr as an unelevated user? It really depends on how AppMgr works, which I personally know nothing about. > Secondly, is there a really good description anywhere of what the difference > between per user and per machine installs actually is? When I ran the > install from an elevated command prompt, it installed on my device, but then > when I next started the app manager on my account, it tried to install the > software again. (not sure why). > See above. You shouldn't elevate for things that depend on the current user -- it won't work for LocalSystem. A real per-user app uses only per-user resources (AppData directories, HKCU registry, etc). > I've gotten in such a mess trying to get this simple thing right so that > it's easy for my users to do. I've filled up my system restore log, and > lost all prior install points except for the last 20 or so, which are all > installing and uninstalling this. > Can you run ActiveSync in a virtual machine? As I recall, Virtual PC and ActiveSync share some components, but maybe one of the other virtualization products will work? There's really no substitute for testing with virtual machines. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users