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 smswish@microsoft.com if like me you'd like to see this functionality added to the next release of SMS.
 

Kicking off APM from a script