This chapter explains how to use LANDesk Management Suite's software distribution (SWD) to distribute software and files to devices throughout your network.
Read this chapter to learn about:
Custom scripts that control scheduled tasks (Tools > Distribution > Scheduled tasks) are processed in three sections:
Custom scripts support various local and remote commands:
Software distribution is facilitated by a deployment script. SDCLIENT.EXE manages the packages using command-line parameters from the script file that are passed to the application.
SDCLIENT.EXE supports the following command-line parameters:
sdclient.exe /p="<package path>" [/g=<pkg guid>] [/All] [/R] [/N] [/An] [/Ac] [/Ab] [/fui] [/msi] [/exe] [/bw=xxx] [/E]
Parameter name | Description |
---|---|
/p=<package path> |
Package path. The package path must be specified, regardless of the package type. This parameter specifies the UNC or URL path to the package that is to be installed on the local device. |
/g=<pkg guid> |
Package GUID. For SWD or AutoInstall packages. This parameter specifies the GUID for the package. The package GUID is used to check the local .cfg file cache for a copy of the package's .cfg file. |
/All |
Uninstall flag. This flag is set to indicate that the SWD or MSI package should be uninstalled rather than installed. This flag is case-sensitive (/all won't work). |
/R |
Always reboot flag. This flag indicates that the device should always be rebooted after the package installation. Not all MSI packages follow this guideline. |
/N |
Never reboot flag. This flag indicates that the device should never be rebooted after the package installation. |
/An |
Silent installation flag. This flag indicates that the installation should be silent. This means that no UI, or the smallest amount of UI possible, should be displayed during the installation. |
/Ac |
Disable cancel flag. This flag prohibits the user's ability to cancel the installation. |
/Ab |
No background flag. This flag only applies to SWD packages. When a package is being installed, the blue background won't be displayed. |
/fui |
Full UI flag. This flag indicates that the full UI for legacy and MSI packages should be used. |
/msi |
MSI package flag. This flag indicates that the package path points to an MSI package file. |
/exe |
Executable package flag. This flag indicates that the package path points to a legacy package or a generic executable file. |
/bw=xxx |
Bandwidth requirements. Specifies a minimum bandwidth requirement for the package script to be run. |
/F |
Generic file flag. This flag causes SDCLIENT.EXE to download the file to the LDClient folder. |
/msg="" |
Sends a message to the core server while the task is executing. This message appears in the task status inside the Scheduled tasks window's Message column. |
These are examples of software distribution .ini files that reflect the differences between HTTP and UNC path script files.
HTTP path script file:
; This file was generated by Desktop Manager
[MACHINES]
REMEXEC0=C:\Program Files\LANDesk\LDClient\sdclient.exe -p=http://<web server>/packages/test package.exe -g={6DD454C0-11D3A0D1-a000B3B5-9BACBBC99CFC6D-9CE3504801A0D4B2FZ0829F08} -Ac -Ab
UNC path script file:
; This file was generated by Desktop Manager
[MACHINES]
REMEXEC0=C:\Program Files\LANDesk\LDClient\sdclient.exe -p=\\sample_core\onefile\test package.exe -g={6DD454C0-11D3A0D1-a000B3B5-9BACBBC99CFC6D-9CE3504801A0D4B2FZ0829F08} -Ac -Ab
Notice that both .ini files have similar elements. In the MACHINES section, the -P option designates the path where the device will download the software package. In the HTTP example, the path is http://<web server>/packages/test package.exe.
The next option is the -G option, which is the GUID, a unique number identifier for each package. This number identifier is generated by the Package Builder, and it helps prevent confusion during installation between packages with similar names.
You don't have to use the Create software distribution script window to create the deployment script file. A deployment file is an .ini file containing the settings the device should use for installing a package. You can create your own deployment files in a text editor such as Notepad if you prefer.
A software distribution .ini script file has these components:
[MACHINES]
REMEXEC0=C:\Program Files\LANDesk\LDClient\sdclient.exe
/p="http://computer_name/95Packages/Acro32_95.exe"
/g={281B46C0-11D3766F-a0008bab-F9751AC966F808-66E3BC2DF01A0D4B2F88670DE4}
/Ac
/N
The parameters for the REMEXEC0 command have been placed on separate lines to make the components more visible. When placed in an .ini file, the command needs to be on one line.
REMEXEC0 is the Remote Execute command. If you want to use more than one REMEXEC0 command in a single script file, increment the command each time it is used. For example, if you used three REMEXEC calls in a single .ini file, they should be REMEXEC0, REMEXEC1, and REMEXEC2. These commands don't need to increment if they're in separate files.
The C:\Program Files\LANDesk\LDClient parameter is the correct path to the SWD agent.
From the console, the right panel in the Scheduled tasks window displays the task status. If you click Failed under the task, you can see devices that failed the job and the resulting messages and logs. The status and errors are logged to the following files:
These log files are stored on each device. The following table lists the error codes you may encounter in these files.
Error code | Definition |
---|---|
101 |
The user cancelled the install. |
102 |
File access was denied. |
103 |
The password used isn't valid. |
104 |
No network found, or incorrect path provided. |
105 |
A download error occurred. |
106 |
A socket could not be created. |
107 |
Unable to open an HTTP session. |
108 |
A CFG download error occurred. |
109 |
A save CFG error occurred. |
110 |
No save CFG folder exists. |
111 |
A file access error occurred. |
112 |
A get CFG error occurred. |
113 |
Unable to create a backup CFG. |
114 |
A spawn error occurred because another package is already being installed. |
117 |
The backup directory can't be created. |
180 |
Networking error. Can't initialize. |
188 |
Timed out while downloading over HTTP. |
189 |
HTTP connection aborted. |
191 |
Host not found. |
197 |
HTTP file not found. |
201 |
The UNC file cannot be found. |
202 |
The file was not found on the installation disk. |
203 |
Unable to create a file in the specified location. |
204 |
Not enough disk space on the destination drive for installation. |
205 |
An invalid drive was specified, or the drive required for this install was not available. |
206 |
The file has a long filename and can't be installed by the 16-bit install program. You still have the option to continue to install other files. |
207 |
The specified file is not an executable. |
208 |
Multiple uninstall registry entries exist with the same source path. |
209 |
Unable to locate the uninstall executable. |
210 |
Encountered an invalid compressed file, or HTTP error(s). |
211 |
A successful AFXSOCKETINIT command must occur before using this API. |
212 |
The network subsystem failed. |
213 |
No more file descriptors are available. |
214 |
The socket can't be created. No buffer space was available. |
215 |
The specified address was already in use. |
216 |
The connection attempt was rejected. |
217 |
The provided host address was invalid. |
218 |
The network can't be reached from this host at this time. |
219 |
The attempt to connect timed out without establishing a connection. |
220 |
The virtual circuit was aborted due to a timeout or other failure. |
221 |
The virtual circuit was reset at the remote site. |
222 |
A non-stated HTTP error occurred. |
223 |
An HTTP error occurred; the file wasn't open for reading. |
224 |
An HTTP error occurred; no content-length setting provided. |
225 |
An HTTP error occurred; not enough memory available. |
226 |
A memory allocation error occurred. |
227 |
Unable to read the file. |
228 |
Insufficient memory available. |
229 |
The .cfg file has an error at line XX. |
240 |
The temporary path specified is invalid. It can't be accessed or created. The target computer has a configuration problem. |
301 |
This application has never been installed on this computer; it can't be uninstalled. |