mytardis / mydata

Desktop application for uploading data to MyTardis
7 stars 4 forks source link

PrivilegesRequired=lowest in Windows installer could prevent MyData from appearing in user's Start Menu #104

Open wettenhj opened 7 years ago

wettenhj commented 7 years ago

"PrivilegesRequired=lowest" was added to MyData's Windows InnoSetup installer to allow non-privileged users to install MyData on Windows (in a non-standard location). See: http://www.jrsoftware.org/ishelp/topic_setup_privilegesrequired.htm

However, for users who do want to install MyData in a standard location (C:\Program Files), running the installer with minimal permissions will fail, and explicitly running it as an administrator can result in MyData's shortcut icon appearing in the administrator's Start Menu instead of the current user's.

When running as an administrator, we could use:

[Icons]
Name: "{commonprograms}\{#MyDataAppName}"; Filename: "{app}\{#MyDataAppExeName}"

instead of:

[Icons]
Name: "{group}\{#MyDataAppName}"; Filename: "{app}\{#MyDataAppExeName}"

in https://github.com/mytardis/mydata/blob/develop/setup.py#L251

However, then we could break the installer for non-privileged users.

So the simplest way to avoid confusion for now seems to be to remove "PrivilegesRequired=lowest" and drop support for installing MyData on Windows without Admin privileges.

wettenhj commented 7 years ago

@pansapiens

pansapiens commented 7 years ago

Seems like "PrivilegesRequired=lowest" should be removed then. The prospective user that required this hasn't ended up using MyData, but I expect the need for a non-privileged install is an issue that will appear again in the future. How easy is it to provide two (automated) builds ?

Providing zip archives of builds alongside the EXE installers would be a simple solution to allow non-admin users to install a portable copy (since admin privileges are generally required for running MyData, just install). An alternative would be a second mydata-portable-vX.X.exe installer where "PrivilegesRequired=lowest" is set.

wettenhj commented 7 years ago

This needs further investigation to establish whether there is actually an issue with "PrivilegesRequired=lowest".

The reason why the user thought MyData wasn't installed on the PC in question was not because it didn't appear in the Start menu, but because it didn't appear in the System Tray (because it is not configured to start automatically yet).

The first time you enter valid settings into MyData's Settings Dialog and click OK, if you haven't unchecked the "Start automatically" checkbox in the Advanced tab, MyData will add itself to the current user's "Startup Items". You can still use Schedule Type: Manual, i.e. you can have MyData appear in the System Tray without actually running any scheduled tasks.

wettenhj commented 7 years ago

It is an issue - we need to ensure that the user who downloads the MyData installer ends up seeing MyData in their Start menu, not just in the Administrator's Start Menu. So "PrivilegesRequired=lowest" will be removed from the official MyData Windows builds.