More > JRiver Media Center 20 for Windows
COM Interface Missing
mhwlng:
--- Quote ---After updating from 19 -> 20, the COM automation interface seems to be gone for me ?
--- End quote ---
I re-ran the installer with 'run as administrator' (without uninstalling V20) and now the COM object is there....
So that fixed my problem.
AndrewFG:
It needs to register the COM server, and depending on the OS that may need admin rights.
Hendrik, perhaps the installer should always prompt to install as admin?
glynor:
Do you have UAC disabled via some trickery?
It should always prompt to be elevated, when installed, and whenever run and not already registered. That's why when you switch back and forth between major versions, you get the UAC prompt each time.
Hendrik:
--- Quote from: AndrewFG on August 26, 2014, 04:12:10 pm ---
Hendrik, perhaps the installer should always prompt to install as admin?
--- End quote ---
It does, how else would you install in Program Files anyway.
We can't really support people that turn UAC off, mostly because its just a bad idea.
mhwlng:
I do have UAC turned off.
When I need to perform a configuration task that requires admin privileges, I do this (c#):
--- Code: ---
static bool IsAdmin()
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(id);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
[STAThread]
static void Main()
{
....
....
if ((System.Environment.OSVersion.Version.Major >= 6) && (!IsAdmin())) // Windows Vista or higher
{
log.Info("Restarting with Elevated Permission.");
ProcessStartInfo processInfo = new ProcessStartInfo();
if (System.Environment.OSVersion.Version.Major >= 6) // Windows Vista or higher
{
processInfo.Verb = "runas";
}
else
{
// No need to prompt to run as admin
}
processInfo.UseShellExecute = true;
processInfo.WorkingDirectory = Path.GetDirectoryName(Assembly.GetAssembly(typeof(Program)).Location);
processInfo.FileName = Assembly.GetAssembly(typeof(Program)).Location;
processInfo.Arguments = commandline;
try
{
Process.Start(processInfo);
}
catch
{
log.Info("Failed to Start " + processInfo.FileName + " With Elevated permission.");
}
return;
}
else
{
log.Info("Elevated Permission Detected.");
// do elevated stuff
}
...
...
}
--- End code ---
This works fine with both UAC off and on (then it prompts for a password)
Navigation
[0] Message Index
[*] Previous page
Go to full version