2017-11-28 5 views
-1

Ich möchte mein Setup-Verzeichnis in InstallShield freigeben. Ich habe einige Suche und fand einen VB-Skript und einen CMD-Befehl:Freigeben von INSTALLDIR-Windows-Ordner in InstallShield

 Option Explicit 

     Const FILE_SHARE = 0 
     Const MAXIMUM_CONNECTIONS = 25 

     Dim objShare 

     'Connect to WMI 
     Dim objWMIService: Set objWMIService = _ 
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 

     'Query share names for existing share 
     Dim colShares: Set colShares = objWMIService.ExecQuery _ 
     ("Select * from Win32_Share Where Name = 'MyShare'") 

     'Delete share if one exists with the same name already 
     For Each objShare in colShares 
     objShare.Delete 
     Next 

     'Create new share 
     Dim objNewShare: Set objNewShare = objWMIService.Get("Win32_Share") 
     Dim strFilePath: strFilePath = Session.Property("CustomActionData") 
     strFilePath = Left(strFilePath, Len(strFilePath) - 1) 
     objNewShare.Create strFilePath, "MyShare", _ 
     FILE_SHARE, MAXIMUM_CONNECTIONS, "MyShare" 

cmd Befehl:

net share Freigabename = [INSTALLDIR]

Wenn ich VBScript ausführen ich sehe keinen Fehler aber ich kann meinen Ordner nicht teilen. Wenn ich den Befehl cmd ausführe, kann der Befehl nicht freigegeben werden, da er Administratorrechte erfordert. aber ich bin mir nicht sicher, wie ich ihm Admin-Privilegien geben kann; kann ich Ordner freigeben? Wie?

+0

Bitte verbringen Sie irgendwann auf sinnvolle Frage zu schreiben. –

+0

Haben Sie versucht, cmd als Administrator zu starten und den Befehl auszuführen? –

+0

Ich fand zwei Lösung, VbScript und CMD Befehl, in Cmd Befehl konnte ich nicht als Admin cmd mit Installshield ausgeführt werden. –

Antwort

1

Versuchen. Sie benötigen Zugriffsrechte für den Standort, den Sie freigeben möchten.

net share Share=E:\Shared /Grant:Everyone,full 

Hinweis: Sie können die Freigaben je nach Bedarf ändern. Dies ist ein reines Beispiel.

+0

aber es funktioniert nicht, wenn ich cmd.exe ausführen, ohne als adimin auszuführen. Ich habe einen Fehler, der besagt, dass der Zugriff verweigert wird. Ich kann cmd.exe nicht ausführen. Führen Sie als Admin mit der installshield-Anwendung –

+0

aus. Sie müssen diesen Befehl als Stapel verwenden, indem Sie die Eingabeaufforderung programmgesteuert verwenden. https://stackoverflow.com/questions/7044985/how-can-i-auto-elevate-my-batch-file-so-that-it-requests-from-uac-administrator/18037959#18037959 –

+0

warum downvote ?? ? –

0

Ich fand eine sehr einfache Lösung. Ich ging in Datei und Ordner-Registerkarte und rechts klickte auf Installdir und dann in der Freigabe-Registerkarte Ich Kontrollkästchen Kontrollkästchen Ordner freigeben und Fertig stellen! Sehr einfach ohne Code und Befehl!

+0

Aber wie wird das mit InstallShield als Installer gemacht? Sie können nicht auf allen Computern sitzen und den Pfad manuell teilen. –

+0

Ich teile nicht manuell, in Installshield gibt es eine Registerkarte mit Namen Datei und Ordner unter dieser Registerkarte kann ich mit der rechten Maustaste auf installdir und Kontrollkästchen Kontrollkästchen Freigabeordner, wenn ich den Programm installshield Freigabeordner installieren. –