SMS Software Distribution

Goto the SMS Home Page

This page details problems and issues relating to Software Distribution.

10003 Error on Windows 95 Client

Contributed By: Cliff Hobbs [MVP SMS]
If you're seeing 10003 errors on your Windows 95 clients here's some help ...  [Go to article]
 

'A data integrity error was detected for advertisement ...'

Is this a common error during a heavy logon time? The OFR file looks OK, but I still got this error....

A data integrity error was detected for advertisement 'P0120013' (P0120013.ofr). The operating system reported error 8: Not enough storage is available to process this command. Possible cause: The advertisement (.ofr) file on this Client Access Point (CAP) is missing, corrupt, or lacking data. The advertisement will not be run or displayed to users.

Solution: Modify the specified advertisement in the SMS Administrator console to force Offer Manager to update (rewrite) the advertisement files.

Wait for Inbox Manager to replicate the change to the CAPs throughout the site before refreshing the list of advertised programs on the client (press F5 in the Advertised Programs Monitor). If the problem persists, check for disk problems on the CAP or for other external causes of file corruption.

I have found that usually the client doesn't have enough disk space.
 

A non-zero exit code of 3010 was returned

I'm trying to distribute IE5.5, although I continually get the error below, once the package has been advertised and executed. Any ideas?

A non-zero exit code of 3010 was returned.

Possible cause: SMS Advertised Program Manager (APM) determines status for each program it executes. If APM cannot find or correlate any install status Management Information Format (MIF) files for the program, it uses the program's exit code to determine status. A non-zero exit code is considered a failure.

Solution: For more information on the exit code, refer to the documentation for the program you are distributing.

This error code is actually a GOOD error code. I'm guessing you ran the install quietly. Error32.exe in the Resource Kit says 'Error 3010 - The requested operation is successful. Changes will not be effective until the system is rebooted.'
 

Advertised Programs Picked Up by ODP But Never Execute

I have a problem where my programs are being picked up by ODP, but the programs (assigned) never execute.  I have followed the distribution process and can't work out what is wrong. I advertised a job called Test (Package ID 0010006F,Advertisement ID001200A0, Collection ID 00100071).

I've also noticed a Database Maintenance SQL command I had set up to discover Duplicate GUIDs has stopped working giving an error - SMS SQL Monitor failed to execute database maintenance SQL command "Duplicate Query" - preceded by Failed to open file \\El03155\Intel\DuplicateQuery (El03155 being my machine).

This command was running weekly with no problems then stopped. Could this be related? If not any ideas?

Contributed By: Gary Black
I had a look through my old advertisements and noticed an advertisement to install a batch file to synchronise time on our users machines had 10s of thousands of failures. As we only have approximately 450 users I figured there was a problem. When I ran a Status Message Query on the advertisement there were a shed load of errors indicating the package was corrupt.

SMS reckoned it couldn't find it although it appeared to be in all the right places. I simply updated the advertisement that was causing the problem and everything started running again.
 

Advertisement fails on a large number of clients returning an error 10003

I have had a recurring problem with Software Distribution when advertising to a large number of systems (we have about 2700 clients (mostly 9x boxes) in a single site in a single domain). The advertisement is a mandatory assignment with a set start time. The program command line points to a share on a member server where all users have read access. A little more than half of the clients fail to run the advertisement, returning an error code of 10003. The other half run fine.

I have tried making the assignment '
as soon as possible' but the package takes too long to deploy (like days). I was hopeful that SP2 would solve this problem

10003 is a general code and can be caused by a variety of problems such as:

  • When the program's command-line executable file could not be found
     
  • When a required driver letter connection to a distribution point could not be established
     
  • When the program is configured to use the Windows NT Client Software Installation Account but the account is not specified, could not be found, or does not have the appropriate permissions.

Check:

  • That the security applied to the package directory is complete and users can access it
     
  • That another package didn't start executing before this package had finished
     
  • That you can do a 'net view' of the share you are trying to install the package from on one of the workstations having the problem

Experience the field suggests not using \\UNC names in batch files to install program on Windows 9x clients.
 

Advertisement popup message

I noticed something strange with software distribution and I'm not sure if I'm doing something wrong or if it's a bug.  When a package/program is configured to run 'whether or not a user is logged on' and is send to a computer collection a pop-up message, stating that a new advertisement is available, shows up for each user logging on to the targeted computer even when the first user executes the program successfully.

In the program configuration, you don't have the option to specify that this program should only run once. It's greyed-out and the SMS help-file specifies that 'run only once' is the default setting but still it's advertised to each user that logs on.

This is happening with all the packages I have tested so far. These packages just simply install and don't require any reboot and are configured accordingly. Has anyone seen this?

This is the default setting when you send out an advertisement that does not have a mandatory assignment. You can get around this in one of two ways.

  1. Make the advertisement Mandatory
  2. Uncheck the 'display message' radio button in the Software Distribution Client agent notification tab.

Advertisement sent with the wrong priority

When I create an Advertisement with a sending priority of high it seems to take forever to reach the client?

This is a known bug that is fixed in SP2. In versions of SMS prior to SP2, when you create an advert with a sending priority of high it is actually sent as low and vice versa. If you are still running SMS pre-SP2 either upgrade to SP2, or send you adverts with the opposite priority (for example if you need to send an advert with a high priority, set it with a low priority and vice versa). Knowledge Base article 237330 'Advertisements Are Sent with Wrong Priority' details this problem.
 

Advertisement status and reporting

To help you monitor and report the status of advertisements Microsoft has created the AdvertView tool that ships with SP2.  Using AdvertView you can:

  • Display that status of advertisements on those clients that should receive an advertisement
     
  • See which clients didn't receive the advertisement (such as machines powered off, laptops away from the office, etc.)
     
  • See percentage figures such as the number of machines that have received the advertisement, haven't received it, etc.
     
  • Cater for collections with subcollections
     
  • Display the actual text  of status messages and WMI classes
     
  • Generate status reports which can be saved, printed and even copied into other applications (useful to email your boss to tell them how a distribution has gone)

To install AdvertView and the other SMS Support Tools, you need to run the SUPPORT.EXE file located in the \SUPPORT directory on the SMS SP2 CD (the tools are compressed into this self-extracting executable to save space on the CD).
 

Advertisement status is 'none' on some clients and 'received' on others

When sending out an advertisement the status of some clients shows 'none' while others show as 'received'?

Make sure the clients with the problem meet all of the requirements to get the advertisement. Look in the 'ODPSYS32.LOG' and 'SMSAPM32.LOG' files to help you troubleshoot this problem.
 

Advertisements Arrive At Clients But Do Not Execute

Contributed By: Cliff Hobbs [MVP SMS]
So you've sent your advertisements to your clients but for some reason they don't execute. Here's a little something to bear in mind ...  [Go to article]
 

Advertisements assigned on logoff to Win9x clients

Is it possible to schedule a mandatory assignment to run on next logoff for Win9x clients? I have been advertising these packages, and the clients receive them, but they never run. W2K clients run them fine. I was hoping that the 9x boxes would run them last thing *before* logoff, but it doesn't seem to work that way.

Once a client logs off of a Win9x PC, network authentication is lost and SMS can't get back to the 'PKG' share to run the package. NT and Win2K are able to do this because the NT SMS services are in control of software distribution after the client logs off.
 

Advertisements over dialup links

I am looking for any feedback on stopping advertisements from being offered to NT SMS 2.0 client computers who are connected via a dial in session. I know about the 'Assignments are not mandatory over slow links' option within the creation of the advertisement, and this seems to work - the advertisement does not appear once it meets the mandatory period (over dial in). What I would like to eliminate is the offering of an advertisement to dial in clients during the optional period. One theory I have is to have the logon script determine the connection type - if dial in then kill the APM process.

Joelle Booher's solution to this problem is to design packages in a way that allows a check to be made for dial-up before the 'real' package kicks off. For example, when deploying IE501, the advertisement program executes DialUpCheckIE501.Exe. This EXE (built in SMS Installer) looks for dialup (using the RASCheck utility from the NT resource kit). If the user is dialed in, a Status MIF is written (because the machine needs to be re-targeted at a later date), and the package ends. If the user is not dialed in, the much larger IE501.Exe is then kicked off.

Copies of Joelle's scripts can be found at http://www.myitforum.com/articles/1/view.asp?id=4774

The other alternative submitted by Marc Philips is to use SLOWNET.EXE from SMSLS.BAT since in SP2 you can configure the settings. The following is from Marc's loadbalancing script he uses when deploying SMS.

REM freedisk.exe comes from the resource kit.
REM check if C-drive free diskspace is below20 MB abandon install
\\%myserver%\netlogon\sms\freedisk.exe c: 20000000
IF errorlevel 1 goto ENDDISKSPACE
REM check if connectionspeed is below 20000 bps abandon install
\\%myserver%\netlogon\sms\SLOWNET.EXE %0 20000
if errorlevel 1 GOTO ENDSLOWNET

More info on SLOWNET.EXE can be found at:
http://www.microsoft.com/smsmgmt/downloads/sp2operation.asp#cli_install

 

Adverts not being processed at clients

I've noticed on some of my clients that the Advert status messages to say a client had successfully run an Advert weren't being returned. On closer inspection I found that although the clients had received the Adverts they weren't actually running them as the adverts were queued up in the '\MS\SMS\Clicomp\APA\DataJobs' directory.

I don't know what caused this problem but to resolve it I did the following:

  1. Deleted the contents of the Jobs folder

  2. Use a utility such as RKILL or PULIST to kill the following services on the clients in the following order:

    • SMSAPM32

    • clisvcl (the SMS Client Service)

    • SMSMon32

  3. Restarted the SMS Client Service

The clients then polled the CAP, pulled the adverts down and run them.
 

AdvertView displays "/sms:property=401,WHQ2000" and other errors

I'm using AdvertView (v1.1.1484) to troubleshoot a newly installed site's Software Distribution process. In doing so I'm using a feature I hadn't used before: 'SMS Status Message Viewer Queries' and any of its available sub-choices, and any combination of starting and ending times.

When I execute this on any object (Advert; Package, or Collection) I get this type of error message:

/sms:property=401,WHQ20000 /sms:severity=ERROR
/sms:severity=WARNING /sms:starttime=2001022113:00.000
/sms:endtime=2001022118:00.000

Selecting 'OK' then displays the status message pane with zero returned messages. I can retrieve data through Status Message Queries, however.

AdvertView has an option setting to display or modify the query before running. What you are seeing is the actual Status Message Query before it runs. Select 'View | Options' and deselect 'Modify Query before running'.

What you think is an error dialog of some sort being returned is in fact normal behaviour  (Options: Modify Query Before Executing=ON).

Secondly you need to enable the added option '
Show INFO' (defaults to Errors and Warnings only). Once done, 'Status Message Viewer Queries' will behave as you'd expect.

Your confusion arises because the behaviour is different depending on which type of query you select... the '
Modify Query' dialog (if enabled) does not appear at all for the 'Run Query >>' choice, but it DOES for the Status Messages selection; also, with 'Show INFO' turned OFF, the 'Run Query >>' selection still shows routine INFO status messages, but the Status Message Viewer selection does not.
 

AdvertView displays incorrect status if Machine Name is in lower case

This is a bug that is recorded for the next full version of SMS (codename: Topaz), so someday it will get fixed. The actual problem is as follows:
  1. The Name0 value in the System_Disc table is in lower case.
     
  2. The targeted collection is updated with this lower case value.
     
  3. The advertisement is executed on the client and the status message(s) are reported back to the site. StatMgr processes the messages and updates the appropriate Status Message tables. The MachineName value for the status message(s) are in upper case.
     
  4. AdvertView reports a Status of 'None' for the machine because of the case mismatch between the advertisement targeted collection (Name value) and vStatusMessages (MachineName value).

If I go in (via ISQL) and change the Name0 value to upper case in System_Disc, update the advertisement targeted collection membership, and refresh the collection, AdvertView now reports correctly.

If they have clients reporting name in mixed/lower case due to Network Discovery. There are no workarounds, short of hacking the database, or disabling Network Discovery. With clients reporting mixed case, Advertview cannot be used.

Knowledge Base Article 277744 'SMS: Status Is Displayed Incorrectly When Using the Advertview Tool' is the Q article for this problem.
 

An easy way of identifying the status of a job without viewing all the specific details

In SMS 1.2 it so easy to see if a client successfully received a job or not. I am perplexed by 2.0 is there an easy way of identifying the status of a job without viewing all the specific details?

In short I just want to know out of the 4000 clients who got it and who didn't not all the detail right now.

Run the Advertisement Status Query for that Advertisement then filter for event 10009. That will show you all of the successful installs.
 

'An error occurred while preparing to run the program for advertisement'

We have multiple DP's running in the same site (under Central Site). We have created multiple packages and have successfully deployed them out to the DP's (verified that it's in \\SERVERNAME\SMSPKGx$ directory). When we try to send out advertisements for these packages under certain DP's, we get errors like the following:

'An error occurred while preparing to run the program for advertisement 'CT120031' ('Nav5 (logged on)' - 'Nav 5 (logged on)'). The operating system reported error 53: The network path was not found. Additional program properties:

Command line: nav5.EXE
Working directory:
Drive letter (? = any): UNC

Possible cause: This message most commonly occurs when the programs command-line executable file could not be found, when a required drive letter connection to a distribution point could not be established, or when the program is configured to use the Windows NT Client Software Installation Account but the account is not specified, could not be found, or does not have the appropriate permissions.

Solution: Check each of the items listed above.'

I have checked all of the possible causes and none of the criteria above conflict with them. When I look back at a package that deployed successfully, I get the following message:

'Program started for advertisement 'CT120031' ('Nav5 (logged on)' - 'Nav 5 (logged on)').
Command line: \\SERVERNAME\SMSPKGx$\CT10001C\nav5.EXE
Working directory: \\SERVERNAME\SMSPKGx$\CT10001C\'

I noticed that the 'Command Line' for the failed package is just 'Nav5.exe' and the successful package is the full UNC to the package source. Also, the working directory on the failed package is BLANK vs. the full UNC to the package source. Does anyone know how this can happen? We have tried refreshing the DP's, re-create the advertisement from scratch, etc. to no avail.

We have also seen this on some packages here - where the successful installs contain a full path to the \\server\share\dir\exe, and the failures only contain the exe name. We have found a greater percentage of success when configuring packages to Windows 95 if you set the 'Start In' field of the program to something local on the PC. We use c:\temp. If it is left blank, the PC will assume that the start in directory is the UNC back to the pkg share, and it cannot resolve that location. Another change we have made is to set all programs to 'Requires Drive Letter' in the Drive mode on the Environment tab. These should improve your success rate.

You may see these errors if the problem system(s) are Win9x. You've specified in the package properties to use UNC's vs. drive mappings. 9x clients get confused with UNC path names.
 

APM options not updating on Clients

Changes made to the APM client agent settings through the MMC (such as enabling the 'Display a notification message' when a new program is available),  aren't being picked up by the clients at all.

Make sure the CAPs are getting the update by checking the '\SMS\Inboxes\Clicfg.src\Swdist.cfg' file for the change then make sure all of the CAPs have the same file.
 

Assigned programs don't show up on Advertised Programs

I have created a security patch for Windows 2000 machines. I assigned it to install on 6/22/00 at 5pm. All clients received the package, but it won't show up on the Advertised Programs. It shows up on the Advertised Programs Monitor, but it won't let users to install it. On the monitor, it show up as scheduled to run on the 6/22/00 5PM. What I wanted to do was have it available for users to install it if they want to before 6/22/00 5pm, but install it if they didn't. The way I did was available after 12pm on 6/19/00, assign after 6/22/00  5pm and never expired. What did I do wrong?

Go to the Schedule tab in the Advertisement properties and make sure that the 'Allow users to run the program independently of assignments' box is checked.
 

Auto Login for NT 4 Workstations to a NetWare server

I'm trying to setup Auto Logon to coincide with an SMS package I'm trying advertise. I can't seem to get the Autologin to work with the NetWare 4.6 SP2 client. Has anybody successfully set this up? I have the Novell TID#10052847. Doesn't seem to help.

You have to set:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DontDisplayLastUserName = 0
 

Batch file keeps running

I am testing a distribution using a batch file that copies files to the local pc and then runs them. I use a mapped drive in the batch, not a UNC, and close with an exit command. In all of my tests, however, the batch file never closes, and on the pc, the advertised program monitor shows that it is still running. The Advertisement Status never receives a program complete message, only Advertisement Received and Program Started messages. Is there anything I can do to get the batches to close out and give a status of complete?

To close a DOS box launched by a bat file include this at the end

CLS
@exit

Seems a DOS box needs a clear screen to close on 9x.
 

Can I Control the Order in which SMS Installs Software?

Contributed By: Steven Rachui [MSFT]
If you want to be able to distribute multiple Packages to a Collection with them running in a set order here is some advice  [Go to article]
 

Can I control which drive a DP is created on?

Does anyone know of a way to control the drive a DP is created on other than using an NT Share in Site Systems?

For example if you stop sharing the Administrative shares for the drives you don't want a CAP to be created on, when you create the CAP SMS doesn't 'see' these drives and uses the one you want it to use. The same cannot be said about DPs.

I've tried experimenting with what it says in the SMS Administrator's Companion where you create the SMSPKG<drive_letter>$ share on the drive you want to create the DP on and SMS SHOULD see this and use it. Oh no it doesn't - SMS seems to ignore this, sees the drive with the most space on it (which I don't want it to use) and creates the DP.

I mentioned this in passing to the PSS guys in the UK as part my site rebuild process and they said the only way they know how to do this is to create the
SMSPKG<drive_letter>$ folder, then share it with the same name, and then create a new NT Share in the Admin console.

Contributed By: Cliff Hobbs [MVP SMS]
No - it seems like the only way you can control this is by creating a share on the drive you want SMS to use and then specify that share name in the MMC when you create the DP.
 

Can I suppress the Advertised Program window for a specific advert?

How do you go about suppressing the advertised program window for a specific advert. We've been trying '/q' and '\q' and neither worked. We also tried '/s' but had no luck as well. We just sent the package anyway.

You can't suppress the Advertised Program window on an individual basis - it's a site wide setting.
 

Can I tell which Adverts are pointing at a client?

Is there a way to tell what Collections a client is part of? For example run a query on a specific machine to tell what collections it is part of? What I want to do is find out if there are any advertisements attempting to advertise to one specific machine.

You can find out what adverts are pointed at a box by double-clicking its icon in the 'All Systems' collection and going to the 'Advertisements' Tab.
 

Can I Use Wake-On-LAN with SMS?

Contributed By: Cliff Hobbs [MVP SMS]
Another popular FAQ this one as most folks do their software distributions 'out-of-hours' when most machines are switched off…  [Go to article]
 

Can I Use XCOPY in an SMS Package to Copy Files Around?

Contributed By: Wally Mead [MS]
If you’re wondering if you can use xcopy to copy files around as part of your Packages the answer is yes but there is one small gotcha  [Go to article]
 

Can't delete adverts imported from a different server using SMSSPMAN

I can't delete several SMS advertisements that were created by using the SMS Properties Exporter (& Importer) program. Here's what I did:

1. Used the SMS Properties Exporter program to export package and advertisement data from one of my SMS servers (Server 1).

2. Used SMS Properties Exporter to import package and adv. data from step 1 to a different SMS server (Server 2).

Now when I use the SMS admin console (for Server 2) and click on Advertisements, the three advertisements that were imported have a little lock key on them. When I right click I do not have the option to delete them. And if I right click and choose Properties, all options are greyed out. And the NT account I'm using DOES have all rights to everything.

How do I get rid of these 'locked' advertisements?

I noted the advertisement IDs for the 'locked' advertisements and then deleted the respective
*.ofr files from '\SMS\inboxes\offerinf.box'. Then I stopped all SMS services and restarted and these advertisements are still locked!

If your servers aren't in a hierarchy (i.e.Server1 isn't the parent site for Server2) you can remove the locks on Server2 by editing the 'ProgramOffers' table in the SQL database. Change 'SourceSite' on all three advertisements you imported from Server1 to the Site code on Server2.
 

'CAP offer inbox is not accessible or is locked' errors appearing in SMSAPM32.LOG

I've noticed that Software Distribution has ground to a halt on some of my clients. When I look in the SMSAPM32.LOG I see the following errors:

CAP offer inbox is not accessible or is locked

In SP2, Inbox Manager can create an 'Inboxlck.tok' file that effectively locks a CAP from being accessed by clients whilst Inbox Manager updates it. There are occasions where Inbox Manager doesn't remove this lock file if it is unable to complete a file copy operation. This causes the CAP to remain locked and clients cannot access it (hence the error message).

The work around to this problem is to unshare the CAP, then delete the token file manually. This problem is documented in Knowledge Base article 275617 'SMS: Inbox Manager Is Unable to Remove the Inboxlck.tok File Which Causes Software Distribution to Halt'.
 

Client hard drives run out of disk space when distributing Norton definition updates

I've been distributing Norton definition updates using SMS for 5 months, always the same procedure. Today I have this problem at only one of my child sites and on only a few PC's. 1500 ran, 9 at this one site had a temp folder created at time of the advert called 'viruscan.zip' and the size grew till the drive ran out of space.

I can't dream up any scenario where SMS would actually do this. The program was the '
0926i32.exe' shipped by Symantec, it's only about 4.5 meg total when its unzipped. I'm thinking the sarc Updater for some reason when it started extracting the .DAT files just went out to lunch.

Rebooting the workstation seemed to stop this. Once we saw the zip continue to grow we just killed the SMS Client service, and deleted the file. Made sure the disk space went back to free, reset the service to automatic and rebooted. I then ran the same SMS package from the DP manually and it ran fine.

The following information is from Symantec's Knowledgebase:

'Situation:

You are running one of the Virus Definition Update Installers from a network location. The updater never seems to stop running and eventually you start seeing messages that the hard drive is out of space. Eventually the system stops responding, and you must reboot. You find a Virscan.zip file in the 'Temp' folder that has grown to fill what was formerly free disk space.'
 

Clients outside of a Collection receive an Advertised Program

I have problems with SP1 clients receiving advertisements that aren't in the targeted Collection?

In SP1 clients may receive advertisements not intended for them as the instruction file on the CAP is re-used and the local lookup file on the client still has a reference to that same instruction file from the previous advertisement. The workaround is to delete that lookup file via the login script, so that it takes an up-to-date one from the CAP every time the user logs on. This problem is resolved in SP2.

Details of this problem can be found in Knowledge Base article 243171 'SMS: Advertisements Are Received by Clients Outside the Targeted Collection'.
 

Corrupt SYSTEM.LKP file

Does anyone know from where the data in '<site_code>SYSTEM.LKP' is obtained? I have a corrupt lookup file having duplicate '.INS' values for distinct GUID's resulting in offers going to clients outside the targeted collection. I'm hoping someone can tell me the details on the populating of the '.LKP' (where does Offer Manager obtain info as to '.INS' file?) and generation of '.OFR' and '.INS' files. The Software Distribution flowchart in BORK is good but too general.

Offer manager does indeed create that file and administer it. The '.LKP' file is the lookup file. Offer data providers on the client check that file for their respective GUIDs. If they see it, they are pointed to an INS file that should instruct them on software to install. INS files should indeed be unique for each client. I had mine get all hosed once too, I remember deleting it was a bad thing - renaming it is probably a better idea then hopefully it will recreate itself.

Now remember there is one on EVERY CAP.
 

'Could not write value key' error when running Visio2000.msi

I am trying to write an unattended install for Visio 2000 sr1 (Select CD October 2000) on Win 95 devices and keep receiving the following error when I run the Visio2000.msi file:

Error 1406: Could not write value to key HKEY_LOCAL_MACHINE\Software\Microsoft\Visio\6.0\Registration\
DigitalProductID
- This is all one line
Verify that you have sufficient access to that key or contact your support personnel.

You need to elevate the privilege. If you're using a Windows Installer scripting product (like Wise), there is an option built in to do this. Otherwise, you'll need to elevate the privileges before-hand. Here's something that will do it:

http://www.myitforum.com/articles/6/view.asp?id=225

Creating a Package to add all Local Admins to the SMS database

 I would like to create a package that places all the Local admins in the SMSdatabase.

How about using: NET VIEW LOCALGROUP Administrators

This will give you miscellaneous information on the local Administrators group, part of which is the membership. Pipe the output to a text file, pull the data into SMS Installer to parse it, and then dump it into a NOIDMIF file.
 

Disabling the countdown message when SMS installs software

I am distributing software and would like to not get the count down message when it installs software.

To eliminate the countdown dialog go into the site's 'Site Settings | Client Agents | Advertised Programs Client Agent | Notification' tab. Most of us turn off all except the very bottom setting 'Show status icon on taskbar or desktop for all system activity'.
 

Distributing WinInstall packages with SMS

There are a number of different ways to achieve this:

  • Recapture all of your WinInstall packages with SMS Installer by running the WinInstall job within SMS Installer and then delete the W.Inst reg keys.
     
  • To distribute WinInstall packages with SMS2, copy the WinInstall (v6.0.4) 32-bit client files and the .NAI file into the package directory. The package command line is then wnstla32.exe <package name> <any switches ie /quiet_noprompt>.
     
  • Put this in a batch file:
    • Run with Admin rights & whether or not user is logged in:
      \\server name\share name\WNSTLA32.EXE \\servername\share name\location of app files\package.nai /NTService /Quiet_Noprompt
       
    • Run only when the user is logged in:
      \\server name\share name\WINSTALA.EXE \\servername\share name\location of app file\package.nai /Quiet_Noprompt

Command line works with Winstall6.x (bit different for Winstall5.x).

DP Permissions in a Single Master Domain

I know (as finally documented in the Security Essentials white paper on SP2 CD), that if I setup a CAP in the Resource Domain, I need to give my Accounts Domain\Domain Users group access to the CAP.

Am I right in assuming that I also need to do the same for the DP, or can I get away by specifying an account from the Accounts Domain to use as my '
Windows NT client software installation account:' under 'Site Hierarchy | Site Settings | Component Configuration | Software Distribution'?

My experience has been that you need to use the Access Accounts within the packages themselves, and add 'domain\everyone' or 'domain\domain users' or whatever group with read permissions.  If you apply permissions to the DP subdirectories, the individual package subdirectories are still pushed with the specific permissions from the Access Accounts section.  If you rely on the NT client software account, it works just fine for NT users (when packages are configured to use that account), but it doesn't work for Win9x users - they seem to access the package shares using their own account.
 

Error - Cannot connect to the Advertised Program Server

When a client tries to run the the Advertised programs from Control Panel they get the above error message.

Two things to look at:

  • Check the status of the 'Available Programs Manager Win32' component in 'Control Panel | Systems Management'. If it is showing as 'Pending' highlight it and press the 'Repair Installation...' button to re-install it.

  • Check there have been no changes to your group policies that may stop the SMS client account from logging on as a service

Exception error raised in 'Available Programs Manager'

I've been receiving an error, 'An exception was raised in the application 'Available Programs Manager (APM)', thread 0x291 (Listen Thread)~' in the SMSAPM32.LOG in certain clients. These clients have not been installing any advertised packages for the past few weeks. They receive the advertisements, but do not get to execute them. The only common thread among these clients is that they all have DB2 installed.

I've tried de-installing & re-installing the client, and re-installing NT4 SP6A, but neither helps in getting the client to execute advertised packages. The same error keeps occurring in SMSAPM32.LOG.

It's a known problem as documented in Microsoft Knowledge Base article 271556 'SMS: Advertisements to Users or Groups Are Not Sent If IBM DB2 Is Installed'. If you disable the DB2 perfcounters via 'db2perfi.exe -U' it will solve the problem, although there will of course be no DB2 perf counters. The problem itself is something to do with how the DB2 perfcounters are implemented.
 

'Failed to connect to the Advertised Program Server'

Out of 10 Advertisements today, three failed with this error. The advertisement has reached the client PC and can be seen in the APM, but the AP icon in control panel is ran, it reports the error 'Failed to connect to the Advertised Program Server.' We run SP2, clients are on the latest version.

If you look at the 'SMSMON32.LOG', it will probably show the same basic error. Here's what is supposed to happen for an NT workstation client:

  1. The SMS Client Service starts, which starts the 'SMSAPM32' process.
  2. A client logs in, which starts 'LAUNCH32' via a 'Run' registry key.
  3. 'LAUNCH32' starts 'SMSMON32', which attempts to connect to 'SMSAPM32'.

So, you should be able to check a machine and see these four processes executing (when a client is logged on and everything is working):

CLISVCL, SMSAPM32, LAUNCH32, and SMSMON32.

To troubleshoot the error, you need to figure out what is wrong with SMSAPM32:

  • Is the process there?
  • Is the SMSAP32 running?
  • What does the SMSAPM32.LOG file show?
  • Is the SMS Client Service running? If it isn't, why not?

GUID error - 'machine xxxxxxxx doesn't have a GUID or SMSID, it won't get any offers'

Uninstalling/ re-installing the client doesn't resolve this problem.

Try removing/ re-adding the computer to the domain.
 

How can I easily tell which package corresponds to which package ID?

Is there an easy way to find out which package corresponds to which package ID?

Two ways to do this:

i) Using SQL Query Analyzer run the following command against the 'sms_<site_code>' database:

select * from pkgprograms

The results are displayed in the following format:

Package ID, Program, Program command line

ii) Using SMS Site Properties Manager (SMSSPMAN.EXE) connect to the relevant Site Server and expand the 'Packages' tree item. A list of Package Names and Package IDs is then displayed.
 

How can I run a Package again?

Several options here:

  • Delete the corresponding package ID file from the \WINNT\MS\SMS\CLICOMP\APA\DATA\COMPLETE directory on each client you want to re-run the package on then stop and start the SMS Client service.

  • Add a second mandatory assignment time to the advertisement - don't delete the first one. For the resend operation to be successful, a new assignment must be created. The existing assignment should not be edited. Also, the assignment must have a full schedule, not configured to occur after an event (As soon as possible, Logon, Logoff). Clients in the collection will pick up the second assignment and run the program again - see Knowledge Base article 235815 'SMS: How To Resend Assigned Programs' for details.

  • Create a new program (delete the old one if you want) and then re-advertise the package. The deleting part is the important part. You can keep your existing package.

How stealthily can adverts be to a Win 9x client?

Just how little user awareness can there be with an assigned program to a WIN9x client?

That would depend on what you are trying to accomplish, I have sent out totally silent packages that have done things from changing where a shortcut points to registry changes. As far as awareness, that would depend how your Advertised Programs Client is configured. For example, if you turned off all notification items, the only indication anyone would have would be hard drive activity.
 

How to Handle Non-Zero Exit Codes

From the microsoft.public.sms.admin newsgroup
If you’ve got an MSI that returns a non-zero exit code on successful installation instead of ‘0’ then you could have a problem with the way you’re using your Status MIF…  [Go to article]
 

Installation Aborts with Error /sms Switch is Not Supported

Contributed By: Cliff Hobbs [MVP SMS]
If you are deploying InstallShield applications through SMS, you'll want to observe this SMS FAQ for the correct switches...  [Go to article]
 

Is it possible to write a query to show machines that have received an Advertisement but haven't started it?

I would like to write a query to build a collection of machines that have received an Advertisement, but have not started it. Can anyone help with this. I cannot seem to find a table in the SMS database with the information I am looking for. I'm obviously looking in the wrong place. I recall this was easier to accomplish in SMS 1.2, but I'm still trying to learn about 2.0.

A couple of options here:

  1. Use Advertview.exe to sort by Status and then export and into Excel (assuming you don't have a machines in your database with lower case names - see AdvertView displays incorrect status if Machine Name is in lower case)

  2. Export the Advertisement Status messages.

  1. First show messages on 'Advertisement Status | Received' and export to a text file
  2. Then show messages on 'Advertisement Status | Started <or complete>' and export to text file.
  3. Pop them both into Excel and you have your list.

Gets rather painful if there are a lot of collections and not to mention the inaccuracy of the Advertisement status messages. But its better than nothing.

Is it True that it Can Take up to 24 Hours Just to Advertise a Package?

Contributed By: Charles Clarke [MVP SMS]
The length of time it takes for a Package to be Advertised and delivered to clients depends on a number of factors as discussed in this article…  [Go to article]
 

Is there a quick way to 'ping' the members of a Collection to make sure they're on?

We have collections setup corresponding with areas covered by certain support tech's. They manage their distribution needs and days, etc. we run our distributions at night and therefore we need all the systems in a particular collection to be turned on and accessible when the time comes.

I am looking for some utility (or do up my own) that will ping all collection members to see if they are available. Anyone seen something like this?

Several options here:

Is there a quick way to refresh a DP?

One of my servers had the drive that hosted the DP replaced over the weekend. Does anyone know of a quick way of telling SMS to Refresh the DP with all of the packages that should be on that drive?

Contributed By: Cliff Hobbs [MVP SMS]
There is no quick way of doing this. You'll need to look through all your Packages in turn and run the 'Manage Distribution Points Wizard' to Refresh the DP with the package.  Email [email protected] if like me you'd like to see this functionality added to the next release of SMS.
 

Kicking off APM from a script

I need to kick off the SMS component that goes and checks for programs advertised to the USER. I believe it is ODPUSER32.exe. How can I kick this off? Through SMSAPM32? I am supporting a desktop rollout, and as the techs logon the 98 machine (after the user logs on and gets their software pushed to them), it is sometimes taking up to the 60 minute time set in advertised programs before they can access the list of all the software that is advertised to their user group. Often I can have them reboot the machine and when it comes up it will go out and check, but this does not always seem to work. I need to create a script that they can run when they log on that will force SMS to go out and check for software advertised to them.

Would either:
setevnt /q SMSAPM32_STARTCYCLE
or
setevnt /q SMSMON32_STARTCYCLE

do this?

or should I try:
cliutils /start SMSAPM32
or
cliutils /start SMSMON32

(I get an error #1011 when I try the cliutils command - any ideas?)

Contributed By: Phil Wilcock
The Client Utilities Tool ('Cliutils.exe') performs various client-side functions for clients running 32bit operating systems. It is extremely useful for stopping and starting failed components, and it can perform a complete cycle of the client components.  Performing the cycle allows you to propagate changes to the client computer immediately instead of waiting until the next scheduled site cycle.

The Client Utilities Tools relies on the existence of
SMSCLReg.dll, which is located in the %WINDIR%\MS\SMS\CORE\BIN directory.  If this file does not exist, you receive an application error.

Cliutils.exe can be sent as a SMS package to the client computer, or can be run manually from the client computer. The syntax is:

CliUtils [<command> <parameter>]

and the following commands and parameters are available:

        /KICK <Registered Name>.  KICK signals the STARTCYCLE event for the client component.  Components used with KICK are client processes that run on a schedule.

       
/STOP <Registered Name>  STOP signals the STOP event for the application.  Running SMS services are affected by this command.

       
/START <Registered Name> START starts the application.  Stopped SMS services are affected by this command.

       
/SCHED <Schedule String> SCHED is used to decode the Schedule List string.

       
/APPREG APPREG registers an application to be started by the client launchers.

Registered Names:

Advertised Programs Monitor
Available Programs Manager
Client Configuration Installation Manager
Clisvcl (Client Service NT)
Clisvc95 (Client Service 95/98)
Hardware Inventory Agent
Software Inventory Agent
System Offer Data Provider
WNet User Groups Offer Data Provider

Certain SMS components only accept certain commands for example to get CCIM (Client Configuration Installation Manager) to wake up and check its configuration, you would use:

CLIUTILS.EXE /kick "Client Configuration Installation Manager"

You'll see 'Wakeup event was signalled!' or something like that in the CCIM32.LOG and it will start into what it would normally wait 23 hours or a restart of the client service for. Hardware and Software inventory accept /Start. So, the trick is:

  1. getting the right command for the component, e.g./kick for CCIM and /start for the inventory agents
  2. getting the registered name of the component right and in double quotes

The registered name of components are stored in the registry under:

HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\Client\Configuration\Client Application Launchers

The names of the components in the subkeys here are the registered names.

Here's a list of some I know return successfully (I didn't check what actually took place, but they all return
--Success--):

CLIUTILS.EXE /kick "Client Configuration Installation Manager"
CLIUTILS /kick "Advertised Programs Monitor"
CLIUTILS /start "Hardware Inventory Agent"
CLIUTILS /start "Software Inventory Agent"
CLIUTILS /start "System Offer Data Provider"
CLIUTILS /start "WNet User Groups Offer Data Provider"
 

Kill.exe for Windows 95 clients

I am using Kill.exe to terminate an app through my installer script, prior to upgrading it on the clients.  I used '%INST%\kill.exe -f (process name)'.  It works great on NT and 2000 but 9x bombs about failing on a to lower function within 'NTDLL.DLL'. I have used four different versions of 'Kill.exe' and it's the same with each.  Anyone know how to get this to work with 9x, I figured if I used the one from the 'Clicln.bat' it would work but it just errors?

You can use the version available in the Windows 98 Resource Kit or use 'Kill95.exe' available from:

http://www.myitforum.com/inc/upload/1048kill95.zip

Load balancing Distribution Points

If I have 3 Distribution Points in one site and send an Advertisement to 100 clients, does SMS automatically balance the load on the servers? Does anyone know of any documentation on this topic?

SMS does not load balance between DPs. In a test, 10 out of 11 clients went to the same DP. Clients use the UNC paths to resolve the DPs in a 'first response' act sort of like DHCP. You will need to use a tool such as PrefServ or SetSMSVR to control which DP a client uses. You could create Collections to advertise software and make sure the only DPs with the software are the ones you want those clients to install from.

To specify a preferred server on a client computer, follow these steps:

  1. To enable preferred server selection, at the following registry key:

    HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client

    and add the value '
    Use Preferred Servers' with a Data Type of REG_DWORD

    The
    REG_DWORD Data value should be set to '0'.

    Exported, the key would read as follows:

    [HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client]

    'Use Preferred Servers'=dword:00000000
     
  2. To create a list of preferred CAPs or DPs, the following registry keys must be created:

    HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client\Preferred AbExprtDB\CAP List for site zzz

    HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client\Preferred AbExprtDB\DP List for site zzz


    where
    zzz
    = site code
     
  3. Under each key, list the NAL paths for each server using the following form:

    MSWNET:["SMS_SITE=zzz"]\\ServerName\
     
  4. If you intend to disable the other selection methods wait one CCIM cycle for CCIM32 to validate the preferred CAP. Failure to do this results in the client losing its means of gaining access to the CAP and its ability to receive configuration changes and advertisements from the site.

    To speed up this CCIM cycle, you can stop and restart the Systems Management Server Client Service on each client. You can also create a software distribution for the Setevnt.exe or Cliutils.exe tool in the Resource Kit using the appropriate parameters to start a CCIM work cycle. For information on the proper syntax to use with these tools, see the Resource Kit documentation.

    Once CCIM32 has valided the preferred CAP it will add a '
    PREFERRED' qualifier to the NAL path for the CAP under the following key:

    HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client\AbExprtDB\CAP List for site zzz

    For example, if you use the following form:

    MSWNET:["SMS_SITE=zzz", "PREFERRED"]\\ServerName\CAP_zzz

    When this entry has been successfully added you can change the '
    Use Preferred Servers' data value back to '1'

    Exported, the key would read as follows:

    [HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client]
    "Use Preferred Servers"=dword:00000001


    You can disable the other selection methods by adding the
    Use Existing Connections = 0 (default is 1 enabled) and Use Random Path Selection = 0 (default is 1 enabled) values in the following registry key:

    HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client

    Exported the key would read as follows:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NAL\CLIENT]

    "Use Existing Connections"= dword:00000000

    "Use Random Path Selection"= dword:00000000


    When you advertise a package to a client, APM creates AbExprtDB entries on the fly under the following registry key:

    HKEY_LOCAL_MACHINE\Software\Microsoft\NAL\Client\AbExprtDB\zzz0000x APM

    This happens when it receives the offer for each distribution point that the package was sent to. If any of those distribution points match the specified preferred distribution points then NAL adds the '
    PREFERRED
    ' qualifier to that server's NAL path in the above key and selects a preferred server to use. When the package has been executed APM removes these registry keys.

    NOTE: If the package has been distributed to only one distribution point, these AbExprtDB entries are not created and the preferred server specification is ignored.

The following Q articles provide more information on this subject:

  • 205406 'SMS: Client Access Point and Distribution Point Selection'

  • 226113 'SMS: Client Does Not Use Existing Connection for CAP or DP'

  • 235873 'SMS: Specifying Preferred Servers in Systems Management Server 2.0'

Load balancing Software Distributions

Has anyone implemented any kind of 'load balancing' scheme when distributing software? We do a lot of our pushes overnight and have noticed that the clients are installing software at the exact same time. We only have one  distribution point per site and some sites have 200 clients. We are going to be pushing IE 5 and I don't want 200 machines connecting to the only distribution point and pulling 40MB each. We have a very small time slot overnight so we offer the advertisement and make it mandatory for the same time. (so the user doesn't even see the icon in the sys tray) This causes all installs to happen exactly at the mandatory time.

By default all SMS clients access Distribution Point(s) at the same time, which can flood the network and cause the advert to fail on some clients. You have a couple of options:

  • Create departmental collections and set the scheduled time 10 minutes apart for each department to balance the load. It works well for me without any extra servers or software involved.
     
  • Use a third-party tool such as Gravity Square's 'Software Distribution Load Balancer', a link to which can be found on the Third Party Tools/Utilities page.

Mandatory Program showing as Received by Clients but not Running

I have just finished completing the roll-out of SMS 2.0 SP 2 for a network of about 200 remotely located and geographically widespread Windows NT 4 workstations. They are all on the same NT domain and are all part of a single SMS Site. I have just begun the first package creation and advertisement to collections of workstations in several offices.

In one particular office the advertised program shows that it has been received by all machines in that collection but the program (which is advertised as AUTOMATED and Assigned as mandatory) is not running. I checked two of the machines at the remote office by using remote control via PC Anywhere and the program does not show up in the Advertised Program Manager or Monitor.

I have made sure that the local time settings are correct and that the program being advertised is not DISABLED. I am at a complete loss to figure out why the advertisement is showing it has been received by all workstations in the collection by their NetBIOS Name but the program does not show up on the client to be run. Any ideas?

It turns out that if you have an advertisement set as ASSIGNED and you have the check box selected for the program that reads 'Assigned programs not mandatory on Slow Network Links' checked, and the WAN link from the Site Server to the collection of machines is a slow network link, then the programs will not show up in the Advertised Programs Manager. Obviously the network link I have to that particular office is slower than the other two that did work.

Once I unchecked that box, the programs ran on all machines in the collection I advertised on.
 

Message ID 10003 with an SMS 170 error message when Distributing a Package

Can someone lend some insight as to why I would get a message ID 10003 with an SMS 170 error message when distributing a package and how to resolve it? I'm distributing an IE package (using a UNC to the distribution point) and 50% of the systems in an advertisement get the message, while the others install the package successfully. On the systems that fail, there is an entry in 'c:\winnt\ms\sms\clicomp\apa\data\complete' for the failed advertisement.

First check the SMS user accounts to make sure they aren't locked out.  In one particular case stopping the McAfee services, setting them to manual, sending the Advert and then re-starting the McAfee services cured this problem.
 

Package doesn't arrive at Distribution Point

After running through the 'Distribute Software Wizard' and specifying the distribution servers to put the packages on, the package never gets there. However, the .PKN file does gets created in:

\\<servername>\SMS_<sitecode>\inboxes\distmgr.box\<packageID.pkn>

But the compression doesn't take place and no status messages are generated?

Try stopping and starting the 'SMS_Executive' service. If this doesn't work and the package status is showing as 'Pending' try a reboot. Page 561 onwards in the SMS Resource Guide should help in troubleshooting this problem.
 

Package doesn't run for all users that logon

We have several machines that are used by many users. I'm finding that some packages only run for the first user that logs onto the machine and not all users. Anyone know why?

This is a setting from the 'Advanced' tab of the 'Properties' tab for the Program that makes up your package. By default the setting is 'Run once for first user who logs on' - the first person to logon onto the computer runs the program. Change this setting to 'Run once for every user who logs on' if you want to run the program for every user that logs onto the computer.
 

Package Share changes drive

The default package share 'SMSPKGD$' on two of our servers has switched to the C: drive automatically creating a 'SMSPKGC$' share. This happened with over 2.5 GBs still free on a 9 GB D: drive. Can anyone tell me the cutoff for free space that a Site Server will use to change drives? Or, how can I tell a Site Server (our Site Servers and DPs are one and the same), to use a specific drive no matter the available space?

Contributed By: Cliff Hobbs [MVP SMS]
Create a specific DP by first creating a share on the desired drive (as detailed below); then use SMS to create a new DP and point to the new share. It seems as though the Distribution Point drive letter will change when there is less than 100 MB of free space.

To setup a Distribution Point:

  1. Within the MMC, navigate to the Site that will be hosting the DP.

  2. From the 'Site Settings' folder, double-click on the 'Site System' folder.

  3. Scroll though the list to make sure the '\\server_name\drive_letter$' share hasn't already been created.

  4. If this share is already present (which it may be is the server has been setup to perform another SMS roles such as a CAP), check to see if the 'Roles' column lists 'SMS Distribution Point'.  If it does then this server has already been setup as a DP.

    If '
    SMS Distribution Point' isn't listed under the 'Roles' column, right-click on the '\\server_name\drive_letter$' share and select 'Properties
    ' then proceed to step 8. to create a DP on the server.

  5. If the '\\server_name\drive_letter$' share hasn't already been created, right-click on the 'Site System' folder and select 'New | Windows NT Share'

  6. Click the 'Set...' button from the 'Site System Properties' dialog box.

  7. Enter '\\server_name\drive_letter$' in the 'New Windows NT Share Site System' dialog box and click 'OK' to return to the 'Site System Properties' dialog box.

  8. Click the 'Distribution Point' tab from the 'Site System Properties' dialog box.

  9. Click the 'Use this site system as a distribution point' check box from this tab then click 'OK'.  The 'SMSPKG' folder won't appear on the drive letter you used on the server until a package is sent to it.

"Preferred sender for package xxx has a unknown type, cannot convert it to an address type."

Contributed By: Carl Sullivan [MSFT]
If you’re seeing this error in Distmgr.log it’s not a major problem... [Go to article]
 

Package/Advert never arrives at Clients after upgrade from SMS 1.2 SP4 to SMS 2 SP2

I upgraded from SMS 1.2 SP4 to SMS 2.0 SP2. I enabled Software Distribution to Clients and set up the Remote Tools Client Agent. The problem is Advertisements. When I create a Package and advertise it, it never gets to the client. The package gets successfully created, and I get no errors. With 1.2, we used Package Command Manager as a service. What is the trick to doing unattended packages in 2.0?

Sounds like you either didn't specify any Distribution Points for your package, or the package has not successfully been installed on any DPs. You may create the advertisement, however SMS will not create the advertisement files on the CAP until the package has reached at least one DP.

Check that the package has actually got to the DP. If the package got to the DP, check the date time stamp on your advertisement. Also check in Advertisement status to see if any clients have received notification of the advertisement.

If Advertisement Status shows all zeros, check the following log files that live on the client in the '
<windowsroot>\MS\SMS\Logs' directory:

  • 'ODPSYS32.log ' - this is what actually retrieves the advert
  • 'SMSAPM32.log' - this is what runs the application

If these two logs aren't present, look at the 'Clicore.log' or 'CCIM32.log' to see why those components were not installed properly.

This particular problem was caused by the clients being configured before all the server settings were properly set. By uninstalling the clients, rebooting them, and then logging back in again the advertised packages almost immediately started installing on the clients.
 

Problem with the order clients run Mandatory Advertisements

I have a problem in the ORDER that my clients run mandatory advertisements. We need to deploy 2 'largish' packages - IE5 and SAP (both run in 'Whether or not a user is logged on' mode). When the advertisements arrive at the client it seems that the SAP one runs first (even although it was created and submitted later than the IE5 one!) The problem is that the SAP package cannot run on a non-IE5 machine!

Anybody got any ideas how to ensure the IE5 one runs first? I don't want to include a 'Run another program first' object in the SAP package because I need to be able to deploy IE5 and SAP separately?

Create a Query for machines with IE5 and then a Query for machines without IE5 as a subselect of first. Then create a Collection using the last Query and defined an Advertisement on this Collection for IE5. Then create a Query for machines with SAP 46B and then a Query for machines without SAP 46B as a subselect of first.

Then create a Query with subselect of IE5 True and SAP 46B False. The create a Collection using the last Query and define an Advertisement on this Collection for SAP 46B. This way SAP 46B will only arrive at machines which have already got IE5.
 

Problems with Courier Sender de-compressing Packages at Grandchild sites

Are any of you folks using Courier Sender to distribute packages?  If so, do you send from a Parent site to a Grandchild site?

I can distribute from Parent -> Child in our lab without problems.  When I import a package addressed form Parent -> Grandchild site, at the Grandchild site the compressed source file ('
.PCK') gets put in the 'SMSPKG' directory but it never gets decompressed to the 'SMSPKGx$' share.

PSS has confirmed this behaviour as a bug. Watch this space for updates on this problem.
 

Silent install for MDAC 2.51

I'm trying to work out the silent command line for MDAC 2.51 but am having a problem. I've uncompressed the MDAC_TYP.exe file using \C \T:<pathname>. Now I want to run setup.exe quietly and am trying to use \QNT like I did for MDAC 2.12 but the problem is that a bunch of files get dumped into my installdir instead of using the local client. This can't be correct. Anyone know how to execute setup.exe for this version of MDAC so the files get placed correctly? Even if you run setup without a command line the files get dumped on the installdir. Is there anyway to redirect these files to the clients local tempdir?

Run it like this:

<-----------cut below here----------->
item: Execute Program
Pathname=<path>\mdac_typ.exe
Command Line=/q /c:"setup.exe /QNT"
Flags=00000010
end
<-----------cut above here----------->

If you run it like this it will extract itself first and then automatically install. No need for two different commands. You don't need to bother with SMS Installer to do this, simply put the parameters into a program.

Wise/SMS Installer is just a tool. The actual commands will not change between batch file, 'Run' line, VB, VB Script, AutoIT, ScriptIt, Winbatch, Kixtart.

Any '
Execute' script item in Wise/SMS Insatller can be used with any of these other methods. Just like any run command you know outside of Wise/SMS Installer can be ran with the Execute script item. However you will want to use the Script Editor and not the Installation Expert to manually create these commands.
 

SMS 2.0 Clients Not Getting Advertisements After Being Built

Contributed By: Rod Trent [MVP SMS], Wally Mead [MS] and John Griffin
If you’ve got a problem with your adverts taking ages to appear on newly built clients then here’s some advice…  [Go to article]
 

Software Distribution MIF File Format

Contributed By: Cliff Hobbs [MVP SMS]
Do you want to know how to create a MIF file that checks your software installation status? Reto Kehl walks us through it...  [Go to article]
 

Some clients run an advert okay whereas others don't

I distribute an Advertisement to a group of 30 clients. All 30 clients receive the Advertisement (10002). Twenty-Five Clients start the program (10005). What would be the most logical reason the 5 clients did not start the program (10005)?

Several things to check:

  • Is the date and time set correctly on the client?

  • What does your 'SMSAPM32.LOG' have to say about the advert? (Does it even list the Advertisement ID?)

  • If you know the 5 machines that didn't get the advert, check their 'ODPSYS32.LOG' and 'SMSAPM32.LOG' files for any reference to the particular offer/advertisement ID you sent.

  • It's possible the clients didn't meet the requirements for the advert.
    1. OS must be correct <NT, 9x>
    2. Date/Time on client must be at or later than the Advert Available Time
    3. The clients must be able to access a CAP to get the advert. Specifically the
    'Cap_Sxx\offerinf.box' directory

  • Sometimes Offer Manager doesn't see the clients as part of the Collection. It's possible that these systems experienced this problem. Try turning on logging for Offer Manager. You can see this in action after the advert is made, by looking at the log. Turn on the log, create a advert for way in the future to that collection, go and look at the log, then cancel the advert.

Tip For Using the Browse Button When Specifying a Collection As The Target for a Software Distribution

Contributed By: Cliff Hobbs [MVP SMS]
Here's a quick tip for using the 'Browse' button when specifying a Collection as the Target for a Software Distribution ...

When specifying the target for a Software Distribution, consider typing the name of the Collection in the 'Collection:' box rather than using the 'Browse...' button.

If your SMS Site includes a large number of Collections, there could a significant delay between you pressing the 'Browse...' button and the 'Browse Collection' dialog box being displayed for you to choose the target collection.

SMS does a check that the '
Collection:' name you typed is valid - if it isn't then the following error message will be displayed:

The collection you specified does not exist. Check the collection name and specify an existing collection.
 

UNC error for advertised program

I get the following errors for a lot of machines when deploying Lotus Notes using their installer.

Program started for advertisement "M012011F" ("Notes" - 'Typical').
Command line: C:\WINNT\install.exe /a instnot.rsp
Working directory: C:\WINNT\MS\SMS\clicomp\apa\Bin\

An error occurred while preparing to run the program for advertisement "M012011F" ("Notes" - "Typical"). The operating system reported error 2: The system cannot find the file specified. Additional program properties:
Command line: install.exe /a instnot.rsp
Working directory: C:\WINNT\MS\SMS\clicomp\apa\Bin\
Drive letter (? = any): UNC

Possible cause: This message most commonly occurs when the program's command-line executable file could not be found, when a required drive letter connection to a distribution point could not be established, or when the program is configured to use the Windows NT Client Software Installation Account but the account is not specified, could not be found, or does not have the appropriate permissions.

Solution: Check each of the items listed above.

The package is set to run with the client's account and with user input. The clients have rights to install software on their machines. The problem is that it can't find the install program. Does anyone know why? I set the package to use UNC instead of a drive letter. It works for some machines but fails for many. It works fine if you run it manually from the UNC. Why is it trying to find it in the "WINNT" directory instead of "\\server\smspkg$\"?

In this particular case the problem was due to the fact that the package was updated but SMS didn't update properly because it didn't have access to the share (people were probably using it). By disconnecting everyone from the distribution servers and forcing another package refresh things are ok.

Other things to check are:

  • Revise the package properties to use a Drive Letter vs. a \\UNC name...

  • Check your 'INST' Variable (should have UNC-Name) and run your program with '%INST%\install.exe /a'

Using NetWare Servers as Package Source Directory

We have several packages like PeopleSoft HR, running in three tier mode from Novell servers. The files are available to the users and everything is running fine when we run the install manually. We have created a package to install through SMS and when this package runs on an NT4 SP6, Client 4.80 Novell client, there is an error 'unable to find the file'.

After two days of troubleshooting, we found the problem but not the solution. It seems when you run a package with admin rights needed, SMS clients execute this package in a command DOS box and this DOS box is not logged into Netware. If we execute login in a DOS box launched by SMS, then close this box and run the package, it's okay.

Our configuration is SMS 2,SP2 , 1500 clients, all CAPs, DPs, and sites are on Windows 2000 servers and there is no IPX/SPX loaded on any SMS servers.

Finally solved the problem. The programs in the package were selected to 'Run with admin rights' and as this option uses the SMSCliToknAcct& to logon when running, the access to the share on the Novell server was lost. We solved the problem by:

  • Defining a domain user with local admin rights on all workstations in Software Distribution
  • Configuring all package to run with 'user rights'

What's the difference between the SMSPKG and SMSPKG<drive_letter> directories?

What's the difference between the 'SMSPKG' directory that contains the compressed .PCK files and the 'SMSPKG <drive_letter>$' directory that contains the expanded package files? Should I see both on my DPs or only one or the other?

The 'SMSPKG' directory should only exist on your Site Servers - this is the directory where SMS stores the compressed copy of your packages. The .PCK file should have a package ID in front of it signifying what package it is.

PCK files exist on the Site Servers regardless of the Package settings (e.g. '
Use a compressed copy of the source directory' tickbox from the 'Data Source' tab when creating a package), if the site has children and the package is distributed to one of them.

The '
Use a compressed copy of the source directory' tickbox merely affects how distribution points are setup and refreshed, if you update them - where does SMS go to get the source files, either from the .PCK file on the site server or from the source directory.

I can confirm that on our Central site server has
.PCK files for each package, even though the data source tab is configured to 'Always obtain files from source directory'. The .PCK file is created during the process of compressing the package source to send it over the wire, and it isn't deleted.

This implies that the
.PCK files won't exist if the package hasn't be distributed to a child site (when 'Always obtain files from source directory' is checked). In our case the .PCK files DO exist even though we have the 'Always obtain files from source directory' checked (this can cause confusion).
 

Where can I get a copy of Windows Installer from?

Windows Installer, the Microsoft service?  Or, Windows Installer, the Veritas product?

Veritas Windows Installer LE comes on the Win2k CD.

The Windows Installer service updates are here:

http://www.microsoft.com/downloads/release.asp?ReleaseID=17348

Which log shows when a client is doing its lookup for a software package?

Contributed By: Cliff Hobbs [MVP SMS]
Look in the 'SMSAPM32.LOG' and 'ODPSYS32.LOG' files.
 

Windows 95 clients run Mandatory Advertisements at different times

I schedule a mandatory advertisement for 6:00 am. Users log into their PC at 8:00 am. Some of the clients receive the mandatory assignment right at log in. While others it may take a couple of minutes - 45 minutes before they see the advertised program. I am running SMS 2.0 SP2 on Novell 3.12 servers with Windows 95 clients. I am using the latest Novell client. Any ideas?

This problem is due to the polling interval of the Offer Data Providers. This is set by default at 60 minutes. When you advertise a package overnight a Windows 9x machine that is simply turned on but not logged in doesn't have network access with no user context, hence the ODPs can't check the CAP for new advertisements. When your users log in, the ODPs can now check the CAPs and will check on their next polling cycle. Not all clients poll on the same cycle, hence your installations are spread out.

Try changing the cycle to less than 60 minutes, however there will be a noticeable increase in network traffic if you set it to something like 5 minutes if you have thousands of clients. Don't forget that in order for the clients to receive the  notification to the change in the cycle, you'll either have to wait 23 hours or stop/start SMS Client Service which for Windows 9x clients means a reboot.

It is also worth checking the time and time zone on the computers and the server. Also check where the computers are getting their time from. For example, if they are logging into NetWare servers, the workstations could be getting the time from the NetWare server. This also applies to a pure NT environment where although the workstations may get the time from the server, but the workstation is set to the wrong time zone, it will make an adjustment based on the time zone difference between the PDC and workstation.
 

© FAQShop.com 2003 - 2008

Goto the SMS Home Page

Email the Author