Совместное использование папки во время установки с помощью Inno Setup
Можно ли создать сетевые папки общего доступа из установки innosetup?
С разрешениями и все?
Мое приложение использует 2 общих папки в клиентской сети, каждый должен иметь возможность чтения / записи в эти папки.
Мне нравится создавать это в настройках, чтобы не делать это вручную. Является ли это возможным?
1 ответ
Решение
Вы можете использовать Create
метод класса Win32_Share.
попробуйте этот образец
Const
FILE_SHARE = 0;
MAXIMUM_CONNECTIONS = 25;
function CreateShared(const Path, Name, Description : string):Integer;
var
FSWbemLocator: Variant;
FWMIService : Variant;
FWbemObjectSet: Variant;
begin
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObjectSet := FWMIService.Get('Win32_Share');
Result:=FWbemObjectSet.Create(Path, Name, FILE_SHARE, MAXIMUM_CONNECTIONS, Description);
end;
И использовать таким образом
Err:= CreateShared('C:\Foo', 'MyShare','This is a public shared folder'); //0 indicates Success