1

是否可以从 innosetup 安装创建网络共享文件夹?

有权限和所有?

我的应用程序在客户端网络中使用 2 个共享文件夹,每个人都必须能够读取/写入这些文件夹。

我喜欢在设置中创建它,以避免手动进行。是否可以 ?

4

1 回答 1

4

您可以使用CreateWin32_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
于 2012-04-12T21:59:53.740 回答