One cool side effect of the fact that so many people at Microsoft use RSS Bandit
is that sometimes I get to have some of the folks who invented the
technology it is built on helping me track down issues. For example,
many of our users have complained about issue mentioned in the
following post entitled Problems running from non-administrator account.
There's a slight problem if you run RSS Bandit from an account that isn't member
of the Administrators security group.
When you run RSS Bandit (at least
the first time after installing), it writes to a file called "rssbandit feed
installer.InstallState" in "%ProgramFiles%\RssBandit". If you run as
administrator that isn't a problem, but non-administrator accounts won't have
write access to anything under %ProgramFiles%, which will prevent RSS Bandit
from starting.
A workaround is to add write permission for "everyone" for
that specific file.
It turns out that someone actually filed a bug against the Windows Installer team because they had problems installing RSS Bandit
on their computer. Not only did the developer assigned the bug track me
down to tell me what I was doing wrong in our installer but
Rob Mensching has also promised to swing by my office next week to give me some tips on writing installers.
Below is a description of what I was doing wrong from Carolyn Napier of the Windows Installer team.
If the file you’re manipulating for the feed information is in the
ALLUSERS profile, then you will need to be an admin to access it. The
current type specification for the custom action is 1025, which means
the custom actions runs with the same privileges as the user that
invoked the installation.
You can designate a custom action to run elevated (meaning at a higher
privilege level) by adjusting its type. Visual Studio Installer doesn’t
expose this, but you can use Orca, the MSI Table Editor, included in
the Windows Installer SDK to tweak the type. (Other full-feature
authoring tools make this available, like Wix, InstallShield, Wise,
etc.).
Instead of 1025, make it 3073. Then your custom action will run with elevated privileges.
I installed Orca, the MSI Table Editor, and found the field she was
talking about. It looks like this issue will finally fixed in the next
version of RSS Bandit. Torsten
has suggested that I use a full-featured installer tool instead of what
ships with Visual Studio. I suspect this may be the straw that breaks
the camel's back and gets me to start exploring Wix. I'll see what Rob advises next week.
I hope this post helps any other people who've had similar problems with installer projects built using Visual Studio.NET 2003.