Установка в определенную пользовательскую папку заменяется установкой в текущую пользовательскую папку


Если (используя программу установки Inno) я установлю MyApp на C:UsersUser1MyApp и создайте ярлык на общедоступном рабочем столе. Этот ярлык правильно указывает на C:UsersUser1MyAppMyApp.exe на рабочем столе пользователя 1, но он указывает на C:UsersUser2MyAppMyApp.exe на рабочем столе пользователя 2!

Я понимаю, что создание установки машины в пользовательской папке вызывает проблемы, но мы застряли со многими клиентами, которые точно делали это в прошлом (когда у нас было больше или меньше на пользователя установка). Итак, как я могу сделать ярлык, указывающий на папку UsersUser1 для всех пользователей?

3 2

3 ответа:

Смотрите мой длинный Ответы в группах новостей.

Таким образом, User2 не может надежно получить доступ к профилю User1, и кажется, что Explorer меняет цель в соответствии с этим. Он может делать это только в том случае, если 1) он не может получить доступ к папке или 2) он находится в домене и принимает перемещаемые профили, но поскольку его поведение не определено, он может делать что угодно.

Ваш лучший выбор-остановить его установку в under c:\users (или эквивалент O/S).

Если у вас есть пользователи будут обновление с установки "на пользователя", вам нужно будет использовать другой AppID, чтобы он не аттамповал для обновления существующей установки.

Лучше всего установить приложение на диске c:\program files\{your app folder}\{appname}.exe или в любом другом месте, кроме {UserDesktop}

Затем, используя Inno Setup contants {commondesktop} вместо {userdesktop}, это разместит ваш ярлык на C:\Users\Public\Desktop, где все пользователи могут видеть, даже новый пользователь, созданный до установки, может иметь его.

Пример

[Files]
Source: MyApp.exe; DestDir: {app};

[Icons]
Name: **"{commondesktop}\[You app Folder]**"; Filename: MyApp.exe; Tasks: desktopicon; IconFilename: MyApp.exe

Или, если вы все еще настаиваете, используйте следующий код

[Files]
Source: MyApp.exe; DestDir: {commondesktop};
  1. Я думаю, что вы должны создать новый пакет, а затем удалить предыдущий, и использовать ваш новый пакет, чтобы установить его должным образом.

  2. Вы должны вручную переместить папку приложения [C:\Users\User1\MyApp] к C:\Users\Public\Desktop, и удалить ярлык, а затем создать новый ярлык, указывающий на C:\Users\Public\Desktop\MyApp\MyApp.exe

  3. Или, на худой конец, изменить безопасность папки [C:\Users\User1\MyApp] или учетная запись User1 не является частной... так что любой пользователь может откройте папку... вот ссылки на то, как это сделать a. http://support.microsoft.com/kb/930987 Б. http://www.scribd.com/doc/101389/Password-Protecting-and-Privatizing-Windows-XP-User-Accounts

Или поискать его с помощью google или любой поисковой системы о том, как удалить приватизированную папку в xp