У меня есть файл приложения .exe, который я планирую сохранить на сетевом диске, к которому имеют доступ многие компьютеры. Цель приложения — извлечь информацию о компьютере, на котором оно запущено.
Идея состоит в том, чтобы иметь только одну копию приложения на случай необходимости внесения изменений, поэтому вместо обновления одного и того же приложения на X компьютерах мы могли бы просто обновить то, что находится на сетевом диске, и тогда эти изменения будут доступны всем.
Это приложение не подлежитустановленна сетевом диске, то установка не потребуется, достаточно просто сохранить файл, чтобы его можно было запустить.
Затем каждому компьютеру необходимо будет запланировать задачу для запуска приложения в определенные моменты времени, используя собственный IP-адрес диска как часть адреса файла.
У меня вопрос: возникнут ли проблемы с доступом к приложению?
Я сам попробовал это сделать, и, кажется, это работает, хотя я все еще не уверен, как это сработает, если несколько пользователей попытаются выполнить это одновременно или, по крайней мере, очень близко друг к другу по времени.
Также сетевой диск нуждается впользователь и парольдля доступа, однако это то же самое для любого пользователя, которому необходимо сохранить или извлечь из него файлы, со всеми разрешениями, обычно это соединение уже открыто, но могут быть случаи, когда пользователю необходимо войти в систему, не сможет ли тогда запланированная задача получить доступ к приложению или она просто запросит учетные данные для входа и, если да, можно ли их добавить в аргументы запланированной задачи?
Этот вопрос касается Windows 7 и Windows 10.
решение1
Если клиентская сторона создает временную копию исполняемого файла, то вы должны быть защищены.
решение2
Поскольку программа не требует установки, у вас не должно возникнуть проблем с такой настройкой, пока программа только считывает данные, а при запуске программ их файлы открываются с общим доступом для чтения. В этом отношении это то же самое, что запустить несколько копий на вашем компьютере с локального диска (но с диска, который может исчезнуть в любой момент :-).
Единственная проблема (помимо сбоев в работе сети) может возникнуть, если программа обновит файл и несколько пользователей одновременно запустят программу, но это также станет проблемой на локальном диске.
Коллега поддерживает для некоторых клиентов стороннее устаревшее приложение, которое использует подобную схему, и оно отлично работает. При установке он настраивает общую папку на сервере (или на компьютере, который чаще всего используется, если у клиента нет сервера), а остальные компьютеры запускают программу и считывают данные из общей папки.
Кроме того, я рекомендую подключить сетевой диск к каждому компьютеру вместо прямого использования сетевого пути. Это немного сложнее, но имеет некоторые преимущества:
Некоторые программы некорректно работают с сетевыми путями, поскольку ожидают букву диска в начале пути.
При создании сетевого диска вы можете указать пользователя и пароль для доступа к сетевому ресурсу, и это гарантированно будет сохранено и использовано каждый раз. Когда вы просто получаете доступ к ресурсу из Проводника и проверяете опцию сохранения учетных данных, это обычно работает, но время от времени эти учетные данные «теряются», и вам приходится вводить их снова (я сталкивался с этим несколько раз на нескольких компьютерах, но я до сих пор не знаю, почему Windows отменяет сохраненные учетные данные).
Если учетные данные сетевого ресурса изменятся, вы просто заново создадите диск с новыми учетными данными, вместо того чтобы искать, где находится хранилище учетных данных (поскольку его местоположение меняется почти в каждой версии Windows), и искать старые учетные данные в списке, что немного обременительно, если у вас сохранено много учетных данных.
Наконец, когда вы настраиваете запланированную задачу, вы должны настроить ее на запуск с учетной записью, в которой создан сетевой диск или сохранены учетные данные, поскольку и то, и другое сохраняется для каждого входа. Если вы используете другую учетную запись, вам нужно ввести учетные данные или создать сетевой диск, войдя в систему с этой учетной записью.