No I dont have SCCM. No I am not a domain admin. (yes it sucks but I work with what I have).

Network is around 3000 PC's at 125+ locations, T1's for WAN links, and 10/100 for LAN.
AD - Each location has it own sub-OU and each location has a small file server.

I want to be able to deploy an MSI with a single GPO. What I am considering.
1. create a unique GPO for each sub OU. This gpo would copy down a unique LMHOSTS file for each PC that points to the local file server of that sub ou. example //localserver/install.msi could then be used and depending on the the LMHOSTS file it would get pointed to the correct server.

2. DFS with replication for all 125+ local file servers. But I am not sure that I could use a single UNC path, from the root folder in the GPO to Assign the MSI. And have the DFS handle which local server to use.

I havent ever had to edit the LMHOSTS file nor had any dealings with DFS. So let me know if i'm barking up the wrong tree here. And should I consider something else?

Some history: in the past I have used startup scripts. I created a unique txt file for each sub OU, in that txt file is the address of a local server. Each PC copies down the unique txt file for the OU its in everytime it starts. Then the software install startup scripts call that txt file to map a share and use the installer from the local server. Startup scripts are begining to have limitations thought, and I spend a ton of time perfecting them.

Thank you for any help!!!!
0 Comments   [ + ] Show Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


hmm your scenario makes me think more of putting to use DNS instead of faffing with LMHOSTS files, deploying from a central location and using branch cache across your networks. I'm familiar with the theory but not practice on this; Branch-cache is a server 2008 r2 feature that caches files over to local networks from remote servers. To the machines on the local networks querying for files which have been branch cached they'll call the remote server but will infact get the files from locally cached resources once the files/installer on a share, has been used the once... worth looking into me thinks... maybe something to propose to the bigwigs anyway as this will take some configuring and setup in advance. Read more about the feature here for a quick overview. once you've set it up it's just a matter of applying to your needs.
Answered 12/07/2010 by: squeakstar
Orange Senior Belt

Please log in to comment
Thanks for pointing me at Branch-cache. Good to know that exists. But all the local servers are 2003 and very unlikely to get upgraded anytime soon.

The LMHOSTS attempt is not working out so well. I have it working and can open it via UNC path (Start>>Run>>//localserver). But the GPO is recording the following in event viewer.
"The install of application PEARL from policy 015-MSI-Test failed. The error was : The installation source for this product is not available. Verify that the source exists and that you can access it. "

I'm guessing that the LMHOSTS file is not loaded until a user logs in. So that attempt will never work, i'll spend a few more hours tommorw troubleshooting, but doubt I will get it to work.

I guess for the time being I'll continue with my startup scripts and txt files. But will keep Branch-Cache solution in back of my mind and ready to blurt it out when time is right.
Answered 12/07/2010 by: MrVal
Senior Yellow Belt

Please log in to comment
have you got dns servers at your branches that can lookup the exact location of where the shares are across your WAN? Group Policies are looked up at boot time for the actual machines which is when most software deployment takes place, unless you're doing per-user install obviously which are applied at user logon. If you can't deal with secondary DNS servers because of the extra traffic in each location maybe stub zones would suffice for the look up of share information on your central servers...
Answered 12/08/2010 by: squeakstar
Orange Senior Belt

Please log in to comment
Have you ever thought of setting an environment variable on your machines that has the value of you local server in them. E.g. INSTALLSERVER=\\Servername\share

The you can use your GPO and just reference the variable. E.g. msiexec.exe /i "%INSTALLSERVER%\vendor\appname\version\filename.msi"

A GPO for each OU could set this variable or you could use a startup script (but it sounds like you want to move away from that). I've seen this method used at several large corporations and it works well.

Good luck.
Answered 12/09/2010 by: michaelnowell
Second Degree Blue Belt

Please log in to comment
Answer this question or Comment on this question for clarity