![]() |
Passing UNC path to setup with /D switch
Hi guys,
Any idea why it is not possible to set the installation path to an UNC path during the execution of the setup? For example: setup.exe /D=\\mycomputer\install Doing this does nothing because it is detecting it as an invalid path for some reason. Any response will be much appreciated. Cheers, Jasmin |
----- EDIT -----
READ POST BELLOW ----- EDIT ----- |
Ok, its me again. :)
I found that UNC paths are OK but UNC paths without a folder are not ok. For example: You can install into \\mycomputer\share\folder But you cannot install into \\mycomputer\share directly because it seems to not allow the installation path to be the root of a drive or a share. I can understand the root of the drive being disallowed as the installation path but the root of the share should be ok? What are your thoughts? Regards, Jasmin |
Just an idea: did you allow "AllowRootDirInstall" (NSIS-instruction, see Help 4.8.1.2). The default is false, so if dont use this instruction, you wont be allowed to install in the root.
|
It should allow root install for that path if it doesn't point to the root of a hard drive, but I don't know if NSIS can be coded to detect that quickly.
-Stu |
According to the documentation, network shares are also prohibited by "AllowRootDirInstall False", but I did not test that. I am not an API-expert, but I _guess_ that NSIS cannot detect that a share represents the root of a drive.
|
Thanks for the replies guys.
I tried using the AllowRootDirInstall true and that seems to allow installation to the root of a drive with the use of the /D switch For example this works now: setup.exe /D=C:\ But unfortunatelly this still doesn't work for me: setup.exe /D=\\mycomputer\share Even when the AllowRootDirInstall is set to true. So this bit of text from the help section seems to be incorrect since a share cannot be selected at all: Quote:
I really didn't want to resort to modifying the exehead to do what I need but I guess I will have to if I cannot find a solution. Regards, Jasmin |
Oops. I found what I was doing wrong. Seems you need an additional backslash at the end of the UNC path for it to be deemed valid. So now this works:
setup.exe /D=\\mycomputer\share\ Whereas before this didn't work: setup.exe /D=\\mycomputer\share Thanks for eveyone's help! :up: |
Just to know: does this work with or without "AllowRootDirInstall TRUE" and does your share map to the root of a logical partition (driveletter) ? Can you test these scenarios ?
/D should also preset the default directory presented by the DirPage in nonsilent mode (without /S). Watch if the Nextbutton is enabled with this default. Even without /D you should be able to select the root of your share with "AllowRootDirInstall TRUE". |
Yes this only works when AllowRootDirInstall is set to TRUE and yes it works on any share regardless of what is being shared (i.e. root of a logical drive) as long as you end the UNC path with a backslash.
I've also found a way to install to a root of a share without using AllowRootDirInstall TRUE. All you have to do is this: setup.exe /D=\\mycomputer\share\..\share\ The backreference seems to trick the installer into thinking its a folder in the root of the share so it allows it. |
| All times are GMT. The time now is 04:46. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.