cancel
Showing results for 
Search instead for 
Did you mean: 

ePO Endpoint Deployment Kit 9.6.1 - Enterprise Edition

UPDATE:

Version 9.6.1 - 08/08/2016

Inhibited entry of comma in description field due to a ePO bug that splits it into 2 packages.

Fixed issue with overwriting of package if it already exists.

UPDATE:

Version 9.6.0.

Updated to .NET 4.5.

Removed third-party DotNetZip Library, replaced with native .NET 4.5 functions.

Removed third-party HTTPUploadHelper for MultipartFormData processing, replaced with native .NET 4.5 functions.

Changed background color of dialogs.

UPDATE:

Version 9.2.5.  Updated error handling for product detecion key parsing.

UPDATE:

Version 9.2.4.  This version set default values for the product detection key and product detection value.

I am very pleased to post the Community Edition of the ePO Endpoint Deployment Kit (EEDK).  This tool is designed to allow ePO  users to build and deploy their own custom software packages using ePO. This can included other software, hotfixes, scripts etc.  Inside the attached .zip files we have included a Product Guide along with  examples of building your own software packages.  If you have any question please use this community site for support.

UPDATE:

Version 9.4.  This version adds Windows 8 and Windows 2012 platform support.

UPDATE:

Version 9.5.2  This version adds Windows 10 platform support.

UPDATE:

Providing Enterprise Edition to the community. This will be the only version maintained going forward.

Labels (2)
Tags (1)
Attachments
Comments

Putting username & password in the script is a terrible security practice!  It is much better to set up the share as a dropbox allowing "Authenticated Users" (for domain joined machines) or even Guests (for non-domain machines) to write but not read from the share. That will allow you to map the share without providing credentials as SYSTEM (the computer account).

Putting best practice aside, the intent is to prove out that the script works. Policies, procedures and the risk-factor are a totally different argument. Thanks anyway for reminding all of us about what's right and wrong.

Hi.

Im trying to run EEDK on a Windows 8.1 but eposign.exe fails because of a missing dll: msvcr71.dll.

How can I fix it?

Thanks in advance.

Install the McAfee Agent on the system.  Or retrieve that .dll form a system where MA is installed. 

Hi,

I'm hoping someone can help me out with this.

We have several workstation in ePO that does not have VSE installed, and installs will not complete as well.

The few I have investigated are due to bad VSE installs.

I was given a VSECleaner tool by our Sales Engineer, and was advised about the EEDK tool.


I have tried to package it, and it checks in but does not install or execute correctly.

I bundle the VSECleaner.exe, ePOSign.exe, and the .bat file.

With

pushd "%~dp0"

VSECleaner.exe /rvse88


Having issues understanding the Product Detection Key and Key value.

My installer will write to the registry when it's complete. I assume this feature allows the installer to read the registry and determine if it should stop or continue based on what it finds in the registry.

The default key setting there is HKLM\Software\McAfee\EEDK

and the defauly value is EEDK

Does this mean the agent is going to HKLM\Software\McAfee\ looking for a STRING/DWORD object called EEDK with a value of EEDK

OR does this mean the agent is going to HKLM\Software\McAfee\EEDK and looking for a STRING/DWORD object called EEDK

If I know what it's looking for and the correct format, I can program my script to write the registry in the correct location once the installation has completed successfully.

Thanks.


Answered my own question by reading the sample PDF's. Excellent detailed samples BTW.

The script looks for a registry dword object with the "name" in the path specified. No need to set a value, it only looks for key exist.

Though the mcscript.log file doesn't indicate that the key was found, the script still stops if the key does exist. The logging is a bit off in mcscript.log. Unless I'm reading it wrong.

Hello All,

Has anyone found why when running a client task in ePO to install a MSI using a package created with EEDK, the client task reports failed operation even if the MSI is installed successful on the target?

The bat has the returning code "exit /B 0".

thank you!

Torry - what is the roadmap for non-Windows support?  Specifically for Mac 10.7 and higher?

When trying to build a package I get the following message:

Capture.JPG

Capture.JPG

Any ideas about this issue?

Hello

Does EEDK 9.4 supports ePO 5.1.1?

The package created by this  version can be checked-in to ePO 5.1.1?

Because while selecting "check-in package" option, we have a message saying "This is only supported by ePO 4.6".

EEDK.PNG

I know when pushing a package with EEDK it uses system privledges.  I have an app that doesnt seem to want to work with system.  Is there anyway to push the app with a permission like administrator or user?

is there a way to get a package to run as the locally signed in user rather than System?  I have a package that after running an exe it tries to copy the results to a share, Works fine if manually ran but since it executes as the account system the copy fails with permissions denied.

Can any one from McAfee suggest how do we run the package with EEDK using local account/logged on account on clients?

I want to create a package of XDAT executable using EEDK9.4 and then push it to the hosts in which DAT is somehow not updating.

I need help with the "Product detection Key", "Product Detection Key Value" & "Command to run".

Has anyone seen these artifacts?

  • Program does not show as installed in add/remove programs, but it does if I run it manually as a normal user account
  • I cannot see a way to report on installations as you might with something like VSE
  • I defined Product Detection Key as “HKLM\Software\McAfee\EEDK” and Product Detection Key value as “NXLOGNTX” but they were not created.

"Hi.

Im trying to run EEDK on a Windows 8.1 but eposign.exe fails because of a missing dll: msvcr71.dll.

How can I fix it?"

I found that these DLLs are not distributed with the 5.0 Agent, only the 4.8 and under Agent. I installed the 4.8 Agent on a spare system and grabbed the MSVCP71.dll and MSVCR71.dll files and put them in the same directory as the ePOsign.exe file.  Then it worked.

Hi All,

I have limited experience with this tool. I am wondering if it is possible to execute a powershell script. below is the batch file content.

The ps1 file simply checks if a file exists and if it does not it copies the file. If the file does exist the script exists. I did try to use an if exist command in the batch file directly to check to a dll, but, whilst the scrip completes it does not seem to work .Both the batch files work when run locally. I suspect it could be a permissions issue when executing from EEDK.

@Echo off

Pushd "%~dp0"

Ping -n 10 localhost >Nul

Set Work="c:\Program Files (x86)\PointSec\Pointsec for PC\Work"

SET SRCDIR=

for /f "delims=" %%a in ('cd') do @set SRCDIR=%%a

:CopyFiles

Echo *******************************************************************

Echo.From Start Copy files to Work in order to be able to run them again.

Echo *******************************************************************

Ping -n 10 localhost >Nul

Copy DesktopUninstall.unp %Work%

%comspec% /c %windir%\system32\WindowsPowerShell\v1.0\powershell.exe -command Set-ExecutionPolicy Unrestricted

%comspec% /c %windir%\system32\WindowsPowerShell\v1.0\Powershell.exe -file "%SRCDIR%\copyfile.ps1"

%comspec% /c %windir%\system32\WindowsPowerShell\v1.0\Powershell.exe -command Set-ExecutionPolicy Restricted

Also, I have been searching for the product guide but have not been able to find one. Please let me know where i can find it.

Regards

Dave

I'd be concerned about the use of %SRCDIR% here.  You might have better luck base64 encoding the powershell script and running powershell.exe with the -EncodedCommand function.

PowerShell –EncodedCommand and Round-Trips - Lessons Learned - Site Home - MSDN Blogs

the %SRCDIR% portion was created based on feedback from earlier in the thread. I have tried running both VBscript and Powershell commands from within the batch file. when run locally they all work. When run via ePO after creating the package in EEDK, the scripted commands never run.

Hello,

I get the following error when I choose Windows 10 as an OS.  Any ideas?

Capture.PNG

I just downloaded the package but the documentation is missing.  Can I find it somewhere else?


To have the agent report back properties about an installed product you must also provide a plugin.dll file that the McAfee agent can call to retrieve and populate the product properties.  The reason the 5.x Safeboot package reportsback product properties is the Dev team created their own plugin.dll for that purpose and get deplyed and install during the install set instalaltion.



Given the fact we’ll not know what software or scripts you’re deploying, I decided to keep this tool simple and not the build plugin.dll for this release.



There are alternatives. You can use the ePO agent custom properties field to report back any details on your custom package.  McAfee System Information Reporter,McAfee Policy Auditor, McAfee Risk Advisor or McAfee Application Control all have the ability to report back on all installed software on a system.


Can you elaborate on this please? Is there a generic dll called plugin.dll that is written for the McAfee Agent and must be called in some way, or are you saying that one needs to create there own specific .dll based on what they are trying to do?

Can I populate the EEDK registry key manually and expect it to be reported back to ePO? I would prefer not to use a custom properties location if possible since there are only four available.

I'm having issues Deploying a LANDESK EXE and not getting any error out side of a generic error installing .  Do I need to include Registry information during the build process?   I need some help trying deploy a LANDESK built package with EEDK.

Hello Everyone!

I have been trying to deploy a script using EDK, but have not been able to get it to actually run on any computer I add the task to.

I need to update the local Microsoft Windows and Office keys automatically.  I am able to run the script on the system manually, but when trying to use EDK to deploy the script, it will not run locally.

Here is the script:

Set objShell = WScript.CreateObject("WScript.Shell")

Set objShell2 = WScript.CreateObject("WScript.Shell")

ChangeOSKey = objShell.Run("cscript c:\windows\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", 0, true)

ChangeOfficeKey = objShell2.Run("cscript ""%ProgramFiles%\Microsoft Office\Office14\ospp.vbs"" /inpkey:XXXXX-XXXXX-XXXXX-

XXXXX-XXXXX", 0, true)

if (ChangeOSKey = 0) then

    OSActivation = objShell.Run("cscript c:\windows\system32\slmgr.vbs /ato", 0, true)

    if (OSActivation = 0) then

        MsgBox("Key has been changed and Windows has been activated.")

    else

        MsgBox("Something went wrong activating Windows.")

    end if

else

    MsgBox("Something went wrong changing the Windows key.")

end if

if (ChangeOfficeKey = 0) then

    OfficeActivation = objShell2.Run("cscript ""%ProgramFiles%\Microsoft Office\Office14\ospp.vbs"" /act", 0, true)

    if (OfficeActivation = 0) then

        MsgBox("Key has been changed and Microsoft Office has been activated.")

    else

        MsgBox("Something went wrong activating Microsoft Office.")

    end if

else

    MsgBox("Something went wrong changing the Microsoft Office key.")

end if

I'm sure I'm just not packaging it correctly.   Can anyone help?

Thanks in advance!

I had this same issue, from what I can tell the EEDK is looking for 2 specific .DLL's of the McAfee Agent; however it seems that those .DLL's are only part of McAfee Agent 4.8.x or lower.  What I found to work was to install an instance of the McAfee Agent version 4.8.x on a system and copy the following 2 .DLL's from the directory "C:\Program Files (x86)\McAfee\Common Framework" | "msvcp71.dll" & "msvcr71.dll".  Place a copy of those 2 .DLL's into the working directory of the EEDK toolkit.

Any way of calling a Powershell script via EEDK to process various tasks?

I would like to simply create a package that I can deploy via the EEDK and ePO that will call an .PS1 file;  I will however need to execute in the following method so as to bypass the Execution Policy:


Powershell.exe -ExecutionPolicy Bypass -File .\MyFile.ps1


Thank you


mcafeenewb wrote:



Any way of calling a Powershell script via EEDK to process various tasks?



I would like to simply create a package that I can deploy via the EEDK and ePO that will call an .PS1 file;  I will however need to execute in the following method so as to bypass the Execution Policy:



Powershell.exe -ExecutionPolicy Bypass -File .\MyFile.ps1




Thank you


OK - I need to try before I ask next time... this seems to work perfect.

2 files in one folder (Launcher.bat & MyPowerShellScript.ps1)

Contents of "Launcher.bat"

@echo off

:: Set path to current product folder
pushd "%~dp0"

:: Get software package source directory and set as variable SRCDIR
SET SRCDIR=
for /f "delims=" %%a in ('cd') do @set SRCDIR=%%a

:: Execute Powershell.exe with the necessary arguments to bypass Execution Policy for this instance only with no user interaction
%comspec% /c %systemroot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "%SRCDIR%\MyPowerShellScript.ps1"


:: Exit and pass proper exit to agent
:: ################################################
:EOF

Exit /B 0

Thanks for the response.  I added these two .DLL files to the directory, rebuilt the package and uploaded to the ePO server again.  I then built a new deployment task, and I can see the task being added to the Schedule's task list on the computers McAfee Agent Monitor, but it still never runs.  Any other suggestions?

Thanks again for any help you can provide!

Hi Torry.

I was wondering if you could help with a batch file I'm attempting to deploy using EDK...The batch file just updates the MS OS and Office license key.  Here is the batch file:

:: Torry Campbell McAfee, Inc.

:: Get directory of current package

pushd "%~dp0"

SET SRCDIR=

for /f "delims=" %%a in ('cd') do @set SRCDIR=%%a

%compsec%  "%SRCDIR%\Office2013Activation - Copy.bat"

Exit /B 0

Set objShell = WScript.CreateObject("WScript.Shell")

Set objShell2 = WScript.CreateObject("WScript.Shell")

ChangeOSKey = objShell.Run("cscript c:\windows\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", 0,

true)

ChangeOfficeKey = objShell2.Run("cscript ""%ProgramFiles%\Microsoft Office\Office14\ospp.vbs"" /inpkey:XXXXX-

XXXXX-XXXXX-XXXXX-XXXXX", 0, true)

if (ChangeOSKey = 0) then

    OSActivation = objShell.Run("cscript c:\windows\system32\slmgr.vbs /ato", 0, true)

    if (OSActivation = 0) then

        MsgBox("Key has been changed and Windows has been activated.")

    else

        MsgBox("Something went wrong activating Windows.")

    end if

else

    MsgBox("Something went wrong changing the Windows key.")

end if

if (ChangeOfficeKey = 0) then

    OfficeActivation = objShell2.Run("cscript ""%ProgramFiles%\Microsoft Office\Office14\ospp.vbs"" /act",

0, true)

    if (OfficeActivation = 0) then

        MsgBox("Key has been changed and Microsoft Office has been activated.")

    else

        MsgBox("Something went wrong activating Microsoft Office.")

    end if

else

    MsgBox("Something went wrong changing the Microsoft Office key.")

end if

I can see the task created added to the schedule's task list, but it never actually runs on the computer.  Any help you could provide would be greatly appreciated!  TIA!

Getting the package built was one problem, and it appears that has been corrected.  Why the task is not executing is a different story.... you need to look @ the schedule you had created for the task and see if it matches the log log file.  If the task is executing, then you need to determine if the task/package is simply not executing.

Without going too deep into your script (I dont so batch files, sorry); but what I can see is that you are calling a .bat from within the .bat.  I think we are over complicating this.  If you have a working .bat file (meaning you can launch it from a system and it completes its task) then the .bat is OK.  If that is the case, then you do not need the .bat file provided by Torry; Torry has provided that as a way to launch other programs that person may be more comfortable with.

Try this...

  • Create the .bat file with the office activation commands
    • Test it local to ensure it works
  • Once tested, save that file as "OfficeActivation.bat"
  • Create the EEDK package and have it call the 'OfficeActivation.bat" file

Hi, and thanks for the response.

SO, I'm able to the task to schedule, but now, right after the task is added to the Schedulers task list, it is then deleted (The task "task name" is deleted (ID=17)).  I've also seen ID=21.  I've attempted to search this error, but cannot find any reference to it.

Thanks,


Kevin

Hi everyone,

We are trying to deploy Java on all node using the client task.

As java has stopped it support fox XP, I need to create a single  EEDK package which will detect the OS version and base on it will deploy java version.

Win XP = Java 7 update 45

Rest All Win OS = Java 8 Update *

Regards, Ronak.

Does this software work with ePO version 5.3.1? It seems to mention ePO 4.6 in one of the text files.

Yes, the packages built with EEDK also work on version 5.3.1.

Hi.

Is it just me, or can you not use files in subfolders when creating an EEDK package? (Yes I am using the Folder option in the GUI 🙂  )

The files can not be found when i test the package, and when i look in the build folder below the latest Build-%productcode%-%productversion% i can not seem to find the files from the subfolder that I am expecting.

Also the Zip file to check in is to small. It is 5k while the package (SCCM client install/repair) that I try to create should be around 200 MB

I will start looking for a workaround, but it would be interesting to know if this is a known issue, or just something strange in my setup.

Regards

Thomas

That is correct. EEDK will not recurse into nested folders when building.

If I recall correctly, a deployed package does not support sub-folders, so they would not unzip into the same subdirectories as you originally had created it under.

Thank you for the confirmation.

Hello everyone.  Is there anyone available that might be able to provide some insight on why a script is not successfully running for me when deployed through ePO using EEDK?  I have the following batch file:

@echo off

  :: Set path to current product folder

pushd "%~dp0"

:: Get software package source directory and set as variable SRCDIR

SET SRCDIR=

for /f "delims=" %%a in ('cd') do @set SRCDIR=%%a

%compsec%  "%SRCDIR%\k12WinandOffice2013.vbs"

Exit /B 0

The batch file successfully runs, however, when it attempts to run the vbs script, I get an error, Did not match searched path.  The batch file and the vbs script are located in the same directory.  Any help would be GREATLY APPRECIATED! 

Also, I can run the batch file / script manually without issue.  Thanks again.

you could try prefixing your vbs with cscript to ensure it doesn't default to wscript.

Next step is to run your "key" command line manually and see if it works (and doesn't prompt)

Hi all,

I'm having some trouble with building a package using EEDK I'm hoping someone can assist with.

I've put together a simple batch script and just trying to build a package using EEDK but it doesn't appear to create a pkgcatalog.z file?

So obviously when attempting to check in the package it errors "Package missing required pkgcatalog.z file".

Any help would be appreciated.

Thanks!


Thanks Andre.  I'll google that and see how to do it (I'm not 100% sure how to )

Hi Vee2,

How are you attempting to check in the package?  Are you checking in the zip file?  Have you looked at your build to make sure everything is there if you unzip the file yourself?

Hi kdennis826,

Thanks for the response.

I eventually got it working, didn't realise you had to have the files (including msvcp71.dll and msvcr71.dll) under the same directory as eedk.exe.

Thanks Vee2.

I had the same issue. I had to find a system with the 4.8 agent, since a majority of the systems here are running MA 5.x

Product Enhancement Request??

There's a story behind the DLL thing.

When I was asked to write EEDK, it was really just a GUI wrapper around some hand-edited text and XML files and a batch file that ran ePOsign.exe. ePOSign.exe does all the real work around making the package itself...specifically, it creates the *.mcs file and PkgCatalog.z. In theory, you can make your own packages by hand in the same way.

ePOSign.exe is an executable included with installation of ePO. The version used in EEDK is 3.1.1, coming originally from ePO 3.x. The reason this version is used is because it has the least number of external dependencies to other DLLs. (msvcp71.dll and msvcr71.dll)

These files are from VisualC 7.1 and they are installed with the installation of ePO or of McAfee Agent 4.x on an endpoint. The thought was that anyone wanting EEDK would already have the MA installed, it was a safe bet to just rip the ePOSign.exe, and include it with EEDK...the DLLs should already be there.

Microsoft has redistributable runtimes for most versions of VisualC. But for some reason, they never created a separate user-downloadable version for VC 7.1, which is what ePOSign.exe is written in. It's only available in a Windows SDK that is used by the compiler. (Which is a huge download, just to get to 2 small files)

When ePO 5.x came out, its version of ePOSign.exe was rewritten. It doesn't need msvcp71.dll and msvcr71.dll, but there are a dozen other DLLs which are only licensed to be installed on the ePO server. Even if I included ePOSign.exe 5.x in the EEDK, I have no authority to include the extra DLLs. There's also no other requirement for the old 7.1 DLLs in ePO or MA 5.x, so they are no longer redistributed with those installs.

So that's the reason.

One thing I have to test is if the McAfee Agent includes those dependent DLLs with the agent install and allows for the ePOSign.exe 5.x to use them.


If so, the only thing I could possibly do is make the requirement for EEDK to run on a PC that with MA 5.x.

The question to all of you is: If I can make ePOSign.exe run on a machine with only MA 5.0 installed as a dependency, is that something you would want to see? Or just leave EEDK alone, and let you copy the msvcp71.dll and msvcr71.dll from some other machine?

Hi.

I am getting to a point where I am getting ready to deploy the 5.0.3 agent, so for me it would be good having the functionality connected to the 5.0 version if possible.

It is not a huge issue to have to locate the 2 dll files manually though, so if it is not possible to get to work I am fine with keeping it the way it is.

 

It might be an idea to create some notification about the dependency as part of the startup or something though. Although there might already be one for all I know 🙂

I have never experienced the issue.

 

Thank you for your excellent work in regards to this tool 🙂

I have found it extremely useful.

 

 

Thomas

 

Version history
Revision #:
1 of 1
Last update:
‎01-11-2012 08:24 AM
Updated by: