A. A utility is supplied on the NT distribution CD called SYSDIFF.EXE which is used to create a file containing files and registry changes needed for an application or set of applications to be installed. To use SYSDIFF just copy it from the CD to your hard disk

  1. Insert the NT CD-ROM
  2. Move to the :\Support\Deptools\i386 directory
  3. Create a directory on you local hard disk (e.g. SYSDIFF)
  4. Copy over SYSDIFF.EXE and SYSDIFF.INF to the directory

Alternativly there is a newer version available as a fix from ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/utilities/Sysdiff-fix/, download sysdiffa.exe for Alpha, sysdiffi.exe for Intel.

The basics behind SYSDIFF is it creates a snapshot of the system before the application is installed, the application is installed and SYSDIFF is run again which compares the current system to the snapshot taken, and any changes to the registry and files are saved. An example usage need to include the following

  1. Create an initial snapshot of the system
    SYSDIFF /snap
  2. Install the application to the machine (e.g. install Office 97 :-) cool app )
  3. Create a difference file based on the current system configuration and the snapshot file
    SYSDIFF /diff /c: <snapshot file> <difference file, e.g. difffile, no extension></strong><br /> e.g. SYSDIFF /diff /c:officediff snap difffile</li> <li>Have a look at the differences<br /><strong>SYSDIFF /dump <difference file> <dump file></strong><br /> e.g. SYSDIFF /dump difffile dumpfile<br /> Type out the dumpfile</li> <li>Edit your unattended installation file (unattend.txt) and change the \[Unattended\] section to include<br /><strong>OEMPreinstall=Yes</strong> </li> <li>Copy SYSDIFF.EXE and SYSDIFF.INF to the $OEM$ directory</li> <li>Copy difffile to the distribution directory</li> <li>If the file does not exist, create the file $OEM$\Cmdlines.txt and insert the following line<br /><strong>sysdiff /apply /m difffile</strong><br /> where /m makes the changes to the default user profile</li> </ol> <p><strong>Note:</strong> Using the /apply method the %systemroot% has to be the same on all machines, i.e. if the diff file was created on a machine with a %systemroot% of d:\winnt\ all machines must be installed to d:\winnt(\[Unattended\] TargetPath)</p> <p>If this dump file gets to large look at the sysdiff /inf option instead which creates a directory for each application installed and is better for a large number of applications. See the SYSDIFF.HLP file for more information. </p> <hr /></div> <fieldset class="fieldgroup group-editors-pick"> </fieldset> <div class="field-syndicate"> Syndicate </div> <fieldset class="fieldgroup group-publication-info"><legend>Publication Info</legend> </fieldset> </div> <!-- we don't need $links or associated processing - CL --> </div> </div> <div class="print-footer"></div> <hr class="print-hr" /> <div class="print-source_url"><strong>Source URL:</strong> <a href="http://windowsitpro.com/windows/how-do-i-automatically-install-applications-part-unattended-installation">http://windowsitpro.com/windows/how-do-i-automatically-install-applications-part-unattended-installation</a></div> <!-- <div class="print-links"></div> links unnecessary in print--> <script type="text/javascript" src="//api.demandbase.com/api/v2/ip.json?token=b155ec5d50b5dcb41662f36b4d10a6f7702c87e6&callback=dbase_parse"></script> <!-- SiteCatalyst code version: H.13 Copyright 1997-2009 Omniture, Inc. More info available at http://www.omniture.com --> <script type="text/javascript" language="JavaScript" src="/sites/all/modules/custom/penton_omniture/s_code.js?r=1.26?R"></script> <script type="text/javascript" language="JavaScript"><!-- s.pageName="article:How do I automatically install applications as part of the unattended installation"; s.pageType="article"; s.prop1="How do I automatically install applications as part of the unattended installation"; s.prop6="article"; s.list1="Management & Mobility|FAQ/Tip|Home Technology|Home Theater|Installation|John Savill's Windows"; s.prop10="Jan 08, 2000"; s.prop12="p"; s.prop41="author"; s.eVar9="John Savill"; s.eVar72="38eff904-8a65-4d74-931b-95b82d1cd029"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s.t();if(s_code)document.write(s_code)//--></script> <script language="JavaScript" type="text/javascript"><!-- if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-') //--></script><noscript><a href="http://www.omniture.com" title="Web Analytics"><img src="http://metrics.pisces-penton.com/b/ss/pentondev/1/H.21--NS/0/3866178/6129380" height="1" width="1" border="0" alt="" /></a></noscript><!--/DO NOT REMOVE/--> <!-- End SiteCatalyst code version: H.13 --> <div id="user_relationships_popup_form" class="user_relationships_ui_popup_form"></div> <img src="http://d.adroll.com/ipixel/IXZC4QKE6BDSVNBBOX54JQ/3BQ2N447KNEODAIZTDTY2B?ar_ed_visitor=corporate" style="position: absolute;width:1px;height:1px;left:-9999px;"/> <iframe id="DivShim" src="/sites/all/modules/custom/pm_doubleclick/blankIframe.html" scrolling="no" frameborder="0" style="height: 0;"></iframe> <div id="roadblockbackground" style="height: 0;"></div> <div id="roadblockcontainer" class="ad640x480 transparent" style="height: 0; overflow: hidden;"> <div id="roadblock"> <p id="closeRB" class="close">Sponsored Introduction <span id="showCount"><a href="javascript:void(0);" onclick="clickAndHide();return false;">Continue on to <span id="roadblockSiteName"></span></a> (or wait <span id="rc"></span> seconds) <a class="xButton" href="#">×</a></span></p> <div id="gpt-interstitial" class="introstitialAd "> <script type="text/javascript"> <!--//--><![CDATA[//><!-- var cookieEnabled = (navigator.cookieEnabled) ? true : false; if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) { document.cookie = "testcookie" cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false; } if (cookieEnabled != null) { if (cookieEnabled) { function setCookie(name, value, expires, path, domain, secure) { var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } var one_day = 1000 * 60 * 60 * roadblock.roadblockdisplay, nextday = 0, index = document.cookie.indexOf('intro'); if (one_day != 0) { nextday = new Date(); nextday.setTime(nextday.getTime() + one_day); } if (index == -1) { setCookie('intro', 1, nextday, '/'); $('#gpt-' + roadblock.roadblockposition).addClass('processed adunit'); googletag.display('gpt-interstitial'); } } } //--><!]]> </script> </div> </div> </div> <div id="gpt-pm-oop"><script type="text/javascript">googletag.display('gpt-pm-oop');</script></div> <div id="gpt-pm-oop-skin"><script type="text/javascript">googletag.display('gpt-pm-oop-skin');</script></div><script type="text/javascript" src="/sites/all/modules/contrib/swftools/onepixelout/onepixelout.js?R"></script> <script type="text/javascript" src="/sites/all/modules/custom/pm_doubleclick/navigation-ads.js?R"></script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- jQuery.extend(Drupal.settings, {"chartbeat":{"uid":53678,"domain":"windowsitpro.com","useCanonical":true,"noCookies":false,"sections":"Management \u0026 Mobility","title":"How do I automatically install applications as part of the unattended installation?"}}); //--><!]]> </script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- adroll_adv_id = "VLH7HVC6ZNEIDEKM72ATRL"; adroll_pix_id = "2ITXTLLMW5EXHKWNE3UNNJ"; (function () {var _onload = function(){if (document.readyState && !/loaded|complete/.test(document.readyState)){setTimeout(_onload, 10);return}if (!window.__adroll_loaded){__adroll_loaded=true;setTimeout(_onload, 50);return}var scr = document.createElement("script");var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com");scr.setAttribute('async', 'true');scr.type = "text/javascript";scr.src = host + "/j/roundtrip.js";((document.getElementsByTagName('head') || [null])[0] || document.getElementsByTagName('script')[0].parentNode).appendChild(scr);};if (window.addEventListener) {window.addEventListener('load', _onload, false);}else {window.attachEvent('onload', _onload)}}()); //--><!]]> </script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- var _sf_async_config=Drupal.settings.chartbeat; if(0) { _sf_async_config.type = 'article'; } (function(){ function loadChartbeat() { window._sf_endpt=(new Date()).getTime(); var e = document.createElement('script'); e.setAttribute('language', 'javascript'); e.setAttribute('type', 'text/javascript'); e.setAttribute('src', '//static.chartbeat.com/js/chartbeat.js'); document.body.appendChild(e); } var oldonload = window.onload; window.onload = (typeof window.onload != 'function') ? loadChartbeat : function() { oldonload(); loadChartbeat(); }; })(); //--><!]]> </script> </body> </html>