Add file to ZIP in Java program

Hi all,
I already found a lot of documentations of how to ZIP files in Java with the java.util.zip package, like: http://java.sun.com/developer/technicalArticles/Programming/compression/
This algorithm works fine when you always want to create a fresh ZIP file where put your current files in.
But I have the following problem: I already have a ZIP file with lots of files in it, and I want to add another file to this ZIP! Unfortunately I did not find any solution of how to do this in a java program - any ideas? Is it possible at all?
Thanks for all answers
nocomm

Maybe this will help.
http://home.mindspring.com/~thornton.rose/articles/ZipJar/part2.html
At the bottom of this link is a algorithm for updating a file in a JAR that can be used for ZIP.
It looks to me that the only way to add a new file to a ZIP is to:
1) Create a Temporary ZIP
2) Add new file to ZIP
3) Open old Zip
4) Read each ZIP Entry in turn and write to temporary ZIP
5) If all goes well then deleted old ZIP and rename temporary ZIP to the correct filename
You will have a ZIP with all the old files in and the new file.

Similar Messages

  • How to extract .sit files(in MAC)  using java program

    Hi,
    please help me , i want to simple program for
    " how to extract .sit files(in MAC) using java program"
    that sit files same as zip files in windows..[                                                                                                                                                                                                                                                                                                                                   

    Thanks for reply...
    but i search in the google about this topic...there is no results will appear..
    the problem is "i have to run program in the MacOS like extract all the
    .sit(StuffIt) extension files. These sit files same as zip files in the windows... we have one tool called StuffIt Expander but it is 3rd party tool. but here requirement is i have to write my own program to extract all the files same as zip file program...
    please do the needful..i am waiting for ur reply,,,

  • Double-click any file on desktop, calling JAVA PROGRAM

    hi guys,
    i'm breakin my head on doin this prog....when we double click a file icon of any file extension, my another
    java program should be called.
    how to do this???
    pls send a sample code........asap!!!!!!!!!
    regards,
    Sam...

    If you are using windows you could probably make a file association (for all extension types) to a batch file that in turn fires off 'java YourClass params_here'
    - but if you (can) do this, won't you screw up your desktop - ie doubleclicking on an .xls or .doc will never fire up Excel or Word, unless you change the file extension associations back to what they were before? This would make your pc kind of strange to use...??!!
    hi guys,
    i'm breakin my head on doin this
    doin this prog....when we double click a file icon of
    any file extension, my another
    java program should be called.
    how to do this???
    pls send a sample code........asap!!!!!!!!!
    regards,
    Sam...

  • Unable to locate existing  file from unix using java program

    Hi
    I have created a file in unix using java program, file.createNewFile();
    And when i try to search for the same file using file.exists() it is returning false. Paths are correct. Can anybody help me out.
    Thanks & Regards,
    Prasanth

    In Linux FC5 using JDK1.6, this code         File temp = new File(System.getProperty("user.home") + "/abcdefghijklmn");
            System.out.println(temp.createNewFile());prints 'true' and the file is created with length zero.

  • How to use .dbf files zipped into a .zip file from within a java program

    i have a .zip file containing several .dbf files.
    the zip file is automatically downloaded regularly and data from the .dbf files is inserted into the database.
    how do i facilitate automatic extraction of a zip file or how do i fetch data from the .dbf file? (this cannot be done manually)
    anu.

    you could write a little polling class checking the zip file. you can use the java.util.jar package to extract the zip file (http://java.sun.com/docs/books/tutorial/jar/api/index.html). you could also use Jakarta ant (http://ant.apache.org/manual/index.html) to do this job (core task "zip") and call ant's target file on a regular basis (dependend on the OS you use, you can set os tasks/schedules).

  • Assigning a file type to a java program

    Greeting,
    I'm sorry if this was asked and answered before but I couldn't find it in my (admittedly cursory) search of this forum:
    I wrote a program to display a binary file (OK. There are plenty of hex browsers, but I wanted it MY WAY). It works fine. I put in a hook to accept a file name in the command line arguments (argv). That works fine. I can't figure out how to make (in Windows) a file type assignment so that files of extension .bin are opened with this java program.
    Can someone give me a hint?

    Why don't you just write a batch file that takes a parameter and starts your viewer?
    You can then associate the extension with that batch file.

  • Problem with creation of a jar file from inside a java program

    Hi,
    I am trying to create a jar file at runtime from within a java program.
    I am able to create a jar file just fine using:
    String[] jarArgs = new String[3];
    jarArgs[0] = "cvf";
    jarArgs[1] = "C:\temp\myjar.jar";
    jarArgs[2] = "C:\temp\this";
    sun.tools.jar.Main main1 = new sun.tools.jar.Main(System.out, System.err, "jar");
    main1.run(jarArgs);However, when I look at the jar it puts the absolute path to the files inside such as:
    C:\temp\this\is\my\package\Class.class
    instead of only this\is\my\package\Class.class
    When running the jar command from the command line it works just fine and I have the relative paths in my jar file.
    Does anyone have any experience with this and could help me out?
    Thanks in advance
    Edited by: mruf on Apr 11, 2008 1:51 AM

    Shouldn't jarArgs[2] = "-C C:\temp\this"

  • How to access database file on CDROM from Java Programe??

    Hello friends,
    I am making online exam application.
    I want my question database to be reside on CDROM.
    but i am not getting any idea how to make DSN or static path that resolute the path that i have mentioned for CDROM.
    basically i want to know how to access CDROM from Java Programe????
    Thanks in advance
    Navik Pathak

    Once you mounted the CDROM (something maybe as /media/cdrom) as a file system (or assigned a drive letter to it like D: or F: or whatever), the files are accessible normally.

  • Problems running bat file with calls to java programs (.jar)

    I created a bat file with calls to jar programs. In each line,
    I put a call to the programs with parameters, but bat only
    executes the first line and ends execution.
    All lines of my bat file must be executed.
    What should I do?
    Best Regards,
    Pedro Felipe
    [http://pedrofao.blogspot.com|http://pedrofao.blogspot.com]
    [http://viajantesmundo.blogspot.com/|http://viajantesmundo.blogspot.com/]

    user8730639 wrote:
    I realized that the problem isn`t my bat file. I made tests calling another jar files and then all the lines of the batch file were executed. So, the jar file called on my previous bat is finnishing the execution. I verified and the jar apps worked without error.
    I would like to know if exists any command in Java that can cause this effect (close a batch), to modify the open source code of the application.Not that I know of.
    Is prism a bat file?
    If you are invoking bat files from your bat file without using call that would explain it
    :: mymain.bat file
    :: call the first bat file
    call prism.bat arg1 arg2 arg3
    :: call the other bat file
    call prism.bat arg4 arg5 arg6
    ::

  • Downloading unix archive file (.Z extension) from java program

    Hi,
    I am trying to download unix archive files with .Z extension from java program. When I use
    BufferedReader zReader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
    and then read line by line and write it to file, downloaded file can't be decompressed. I tried to open it with winZip which supports .Z files but I get the message : Cannot open file, it does not appear to be a valid archive.
    How can I download file correctly?
    Any help would be appreciated.

    Hi,
    I am trying to download unix archive files with .Z
    extension from java program. When I use
    BufferedReader zReader = new BufferedReader(new
    InputStreamReader(urlConn.getInputStream()));
    and then read line by line and write it to file,How are you writing the file? Since it is binary data you need to be careful about using Reader/Writers, which are meant for character data. Look at using classes from the InputStream/OutputStream hierarchy.
    - N

  • Getting the log files from client using java program

    hi
    this is lalita...and i am doing a project in networking.... i am new to socket programming....i have established the socket connection between the client and server...with this site members' help....now i have to get the log files of the client system from the server.... via the created socket....i need it by tomorrow...i.e apr 12th ....as i have to show it to my guide...
    i just need a core java program that will get the log information of the client from the server......
    Can anybody please help me in this regard..... it would be of great help to me and my group....
    Anxiously awaiting for the replies....
    Thanking you and regards...
    Lalita.

    Simple.
    Server is listening on a specific port for the connection from the clients.
    Connect the client with the server on the above mentioned port.
    Open the streams on both side for the connection and run in separate thread.
    Define a protocol for communication between client and server.
    e.g after connection with the server the server send a text message to the client (send log) now the client first should the log file name and size to the sever and then send the file. the server should save the file.
    then disconnect the client or want to get another file or for other tasks define the other commands

  • Add more fuctionality to my java program

    hi i have this program which is a simple game to find the prize, but i need to add more to it so that the user only gets ten go's at guessing the button where the prize is any help?
    import java.awt.BorderLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Random;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    public class MyGame extends JPanel{
    private Random rand ;
    private int rows;
    private int cols;
    private int prizeX;
    private int prizeY;
    public MyGame(int rows, int cols){
    //super(new GridLayout(rows, cols));
    super(new BorderLayout());
    this.rows = rows;
    this.cols = cols;
    JPanel p = new JPanel(new GridLayout(rows, cols));
    for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
    JButton b = new JButton(" Button [x="+i+", y="+j+"]");
    b.addActionListener(new MyActionListener(i, j));
    p.add(b);
    this.add(p, BorderLayout.CENTER);
    this.add(new MyReStartButton(), BorderLayout.SOUTH);
    rand = new Random(System.currentTimeMillis());
    prizeX = rand.nextInt(rows);
    prizeY = rand.nextInt(cols);
    System.out.println(prizeX+", "+prizeY);
    class MyActionListener implements ActionListener{
    private int x;
    private int y;
    public MyActionListener(int x, int y){
    this.x=x;
    this.y=y;
    public void actionPerformed(ActionEvent e) {
    if(x==prizeX&&y==prizeY){
    JOptionPane.showMessageDialog(MyGame.this, " Winner !! ");
    }else{
    JOptionPane.showMessageDialog(MyGame.this, " Try again ");
    class MyReStartButton extends JButton{
    public MyReStartButton(){
    super("Start new Game");
    addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    MyGame.this.prizeX = rand.nextInt(rows);
    MyGame.this.prizeY = rand.nextInt(cols);
    System.out.println(prizeX+", "+prizeY);
    private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("MyGame");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //Create and set up the content pane.
    JComponent newContentPane = new MyGame(3, 5);
    newContentPane.setOpaque(true); //content panes must be opaque
    frame.setLayout(new BorderLayout());
    frame.setContentPane(newContentPane);
    //Display the window.
    frame.pack();
    frame.setVisible(true);
    public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    createAndShowGUI();
    }

    You want to have 10 try attempts for a user to guess your number?
    If so, check this out. I've added you a variable to count guesses of users.
    import java.awt.BorderLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Random;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    public class MyGame extends JPanel {
         private Random rand;
         private int rows;
         private int cols;
         private int prizeX;
         private int prizeY;
         private int attempts;
         public MyGame(int rows, int cols) {
              // super(new GridLayout(rows, cols));
              super(new BorderLayout());
              this.rows = rows;
              this.cols = cols;
              JPanel p = new JPanel(new GridLayout(rows, cols));
              for (int i = 0; i < rows; i++) {
                   for (int j = 0; j < cols; j++) {
                        JButton b = new JButton(" Button [x=" + i + ", y=" + j + "]");
                        b.addActionListener(new MyActionListener(i, j));
                        p.add(b);
              this.add(p, BorderLayout.CENTER);
              this.add(new MyReStartButton(), BorderLayout.SOUTH);
              rand = new Random(System.currentTimeMillis());
              prizeX = rand.nextInt(rows);
              prizeY = rand.nextInt(cols);
              attempts = 9;
              System.out.println(prizeX + ", " + prizeY);
         class MyActionListener implements ActionListener {
              private int x;
              private int y;
              public MyActionListener(int x, int y) {
                   this.x = x;
                   this.y = y;
              public void actionPerformed(ActionEvent e) {
                   if (attempts == 0) {
                        JOptionPane.showMessageDialog(MyGame.this, "You lost, 10 attempts reached. ");
                   } else {
                        if (x == prizeX && y == prizeY) {
                             JOptionPane.showMessageDialog(MyGame.this, " Winner !! ");
                        } else {
                             JOptionPane.showMessageDialog(MyGame.this,
                                       " Try again, you have " + attempts
                                                 + " more attempts");
                             attempts--;
         class MyReStartButton extends JButton {
              public MyReStartButton() {
                   super("Start new Game");
                   addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                             MyGame.this.prizeX = rand.nextInt(rows);
                             MyGame.this.prizeY = rand.nextInt(cols);
                             MyGame.this.attempts = 9;
                             System.out.println(prizeX + ", " + prizeY);
         private static void createAndShowGUI() {
              // Create and set up the window.
              JFrame frame = new JFrame("MyGame");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              // Create and set up the content pane.
              JComponent newContentPane = new MyGame(3, 5);
              newContentPane.setOpaque(true); // content panes must be opaque
              frame.setLayout(new BorderLayout());
              frame.setContentPane(newContentPane);
              // Display the window.
              frame.pack();
              frame.setVisible(true);
         public static void main(String[] args) {
              // Schedule a job for the event-dispatching thread:
              // creating and showing this application's GUI.
              javax.swing.SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        createAndShowGUI();
    }

  • Need urgent help. Execution of .exe files by calling from java program

    This program can execute small .exe files which donot take inputs. But does not work for exe files that take input and just hangs. What could be the problem. If anyone helps me I would be very grateful.
    Server code :-
    import java.io.*;
    import java.net.*;
    public class Server1 {
         private Player[] players;
         private ServerSocket server;
         private ExecHelper exh;
         String command = null;
         String message = null;
         public Server1() {
              players = new Player[5];
              try {
                   server = new ServerSocket( 12345, 5 );
                   System.out.println("Server started...");
                   System.out.println("Waiting for request...");
              catch( IOException ioe ) {
                   ioe.printStackTrace();
                   System.exit( 1 );
         } //end Server constructor
         public void execute() {
              for( int i = 0; i < players.length; i++ )
              try {
                   players[i] = new Player( server.accept() );
                   players.start();
              catch( IOException ioe ) {
                   ioe.printStackTrace();
                   System.exit( 1 );
         public static void main( String args[] ) {
              Server1 ser = new Server1();
              ser.execute();
              System.exit( 1 );
         private class Player extends Thread {
              private Socket connection;
              private ObjectOutputStream output;
              private ObjectInputStream input;
              public Player( Socket socket ) {
                   connection = socket;
                   try {
                        input = new ObjectInputStream( connection.getInputStream());
                        output = new ObjectOutputStream( connection.getOutputStream());
                        output.flush();
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
                        System.exit( 1 );
              public void run() {
                   try {
                        message = "Enter a command:";
                        output.writeObject( message );
                        output.flush();
                        do {
                             command = ( String ) input.readObject();
                             String osName = System.getProperty( "os.name" );
                             String[] cmd = new String[3];
                             if( osName.equals( "Windows 2000" )) {
                                  cmd[0] = "cmd.exe";
                                  cmd[1] = "/c";
                                  cmd[2] = command;
                             else if( osName.equals( "Windows NT" ) ) {
                             cmd[0] = "cmd.exe" ;
                             cmd[1] = "/C" ;
                             cmd[2] = command ;
                             Runtime rt = Runtime.getRuntime();
                             Process proc = rt.exec( cmd );
                             exh = new ExecHelper( proc, output, input);
                        } while( !command.equals( "TERMINATE" ) );
                   catch( Throwable t ) {
                        t.printStackTrace();
         } //end class Player
         public class ExecHelper implements Runnable {
         private Process process;
         private InputStream pErrorStream;
         private InputStream pInputStream;
         private OutputStream pOutputStream;
         private InputStreamReader isr;
         private InputStreamReader esr;
         private PrintWriter outputWriter;
         private ObjectOutputStream out;
         private ObjectInputStream in;
         private BufferedReader inBuffer;
         private BufferedReader errBuffer;
         private Thread processThread;
         private Thread inReadThread;
         private Thread errReadThread;
         private Thread outWriteThread;
         public ExecHelper( Process p, ObjectOutputStream output, ObjectInputStream input ) {
              process = p;
              pErrorStream = process.getErrorStream();
              pInputStream = process.getInputStream();
              pOutputStream = process.getOutputStream();
              outputWriter = new PrintWriter( pOutputStream, true );
              in = input;
              out = output;
              processThread = new Thread( this );
              inReadThread = new Thread( this );
              errReadThread = new Thread( this );
              outWriteThread = new Thread( this );
              processThread.start();
              inReadThread.start();
              errReadThread.start();
              outWriteThread.start();
         public void processEnded( int exitValue ) {
              try {
                   Thread.sleep( 1000 );
              catch( InterruptedException ie ) {
                   ie.printStackTrace();
         public void processNewInput( String input ) {
              try {
                   out.writeObject( "\n" + input );
                   out.flush();
                   catch( IOException ioe ) {
                   ioe.printStackTrace();
         public void processNewError( String error ) {
              try {
                   out.writeObject( "\n" + error );
                   out.flush();
         catch( IOException ioe ) {
                   ioe.printStackTrace();
         public void println( String output ) {
              outputWriter.println( output + "\n" );
         public void run() {
              if( processThread == Thread.currentThread()) {
                   try {
                        processEnded( process.waitFor());
                   catch( InterruptedException ie ) {
                        ie.printStackTrace();
              else if( inReadThread == Thread.currentThread() ) {
                   try {
                        isr = new InputStreamReader( pInputStream );
                        inBuffer = new BufferedReader( isr );
                        String line = null;
                        while(( line = inBuffer.readLine()) != null ) {
                                  processNewInput( line );
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
              else if( outWriteThread == Thread.currentThread() ) {
                   try {
                        String nline = null;
                        nline = ( String ) in.readObject();
                        println( nline );
                   catch( ClassNotFoundException cnfe ) {
                   //     cnfe.printStackTrace();
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
              else if( errReadThread == Thread.currentThread() ) {
                   try {
                        esr = new InputStreamReader( pErrorStream );
                        errBuffer = new BufferedReader( esr );
                        String nline = null;
                        while(( nline = errBuffer.readLine()) != null ) {
                             processNewError( nline );
                   catch( IOException ioe ) {
                        ioe.printStackTrace();
    Client code :-
    // client.java
    import java.io.*;
    import java.net.*;
    public class Client {
         private ObjectOutputStream output;
         private ObjectInputStream input;
         private String chatServer;
         private String message = "";
         private Socket client;
         public Client( String host ) {
              chatServer = host;
         private void runClient() {
              try {
                   connectToServer();
                   getStreams();
                   processConnection();
              catch( EOFException eofe ) {
                   System.err.println( "Client terminated connection ");
              catch( IOException ioe ) {
                   ioe.printStackTrace();
              finally {
                   closeConnection();
         } //end method runClient
         private void connectToServer() throws IOException {                                                                 
              System.out.println( "Attempting connection...\n");
              client = new Socket( InetAddress.getByName( chatServer ), 12345);
              System.out.println( "Connected to : "+ client.getInetAddress().getHostName());
         private void getStreams() throws IOException {
              output = new ObjectOutputStream( client.getOutputStream());
              output.flush();
              input = new ObjectInputStream( client.getInputStream());
         private void processConnection() throws IOException {
         while( true ){
                   try {
                        message = ( String ) input.readObject();
                        System.out.print( message );
                        InputStreamReader isr = new InputStreamReader( System.in);
                        BufferedReader br = new BufferedReader( isr );
                        String line = null ;
                        line = br.readLine();
                             output.writeObject(line);
                             output.flush();
                   catch( ClassNotFoundException cnfe) {
                        System.out.println( "\nUnknown object type received");
         } //end processConnection
         private void closeConnection() {
              System.out.println( "\nClosing connection");
              try {
                   output.close();
                   input.close();
                   client.close();
              catch( IOException ioe ) {
                   ioe.printStackTrace();
         public static void main( String args[] ) {
              Client c;
              if( args.length == 0 )
                   c = new Client( "127.0.0.1" );
              else
                   c = new Client( args[0] );
              c.runClient();

    pay close attention to the comments in this thread
    http://forum.java.sun.com/thread.jspa?threadID=769142&messageID=4383764#4383764

  • Open a file in a running java program via double click

    I have already implemented opening my program with the corresponding file after a double click in windows explorer or from the cmd line but how do you open a file into the program if it is already running as MS Word will open a .doc file in the current word instance if you are running it.
    Thx,
    Jim

    Implement some sort of interprocess communication in your program. If you launch an instance, it can check whether another is running and pass a message to it telling it to perform the wished action.

  • Executing 2 bat files in a single java program

    I have 2 bat files named batch1.bat & batch2.bat these 2 files has to run one after the other.I has written the code as bellow:
    When i execute it it runs the first batch file named batch1.bat and exit. it is not running the second batch file.
    can anybody please help me.
    String[] command = {
                              "C:\\windows\\system32\\cmd.exe", "/y", "/c",
                              "C:\\SelfAutomate\\BestDeploy\\com\\batchfile\\batch1.bat", "C:\\SelfAutomate\\BestDeploy\\com\\batchfile\\batch2.bat"};
                     //String[] command =  new String[3];
                   //command[0] = "cmd.exe";
                   //command[1] = "/C";
                   //command[2] = "C:\\SelfAutomate\\BestDeploy\\com\\batchfile\\batch1.bat";
                   //command[3] = "cmd.exe";
                   //command[3] = "C:\\SelfAutomate\\BestDeploy\\com\\batchfile\\batch2.bat";
                   //command[5] =
                   //command[6] = "ant";
                  Process p = Runtime.getRuntime().exec(command);
                  BufferedReader stdInput = new BufferedReader(new
                            InputStreamReader(p.getInputStream()));
                  BufferedReader stdError = new BufferedReader(new
                            InputStreamReader(p.getErrorStream()));
                  // read the output from the command
                  String s = null;
                  System.out.println("Here is the standard output of the command:\n");
                  while ((s = stdInput.readLine()) != null) {
                       System.out.println(s);
                  // read any errors from the attempted command
                  System.out.println("Here is the standard error of the command (if any):\n");
                  while ((s = stdError.readLine()) != null) {
                       System.out.println(s);Thanks

    So what? It wouldn't run two batch files on a command shell, either. You need to call them separately. The way you do it, you just pass the name of the second batch to the first as an argument.

Maybe you are looking for

  • Install Flash Builder 4.5.x Upgrade without Flex Builder 3.x installed?

    Edit: Is the lack of replies because no one knows the answer or because this was a ridiculously dumb question? Also, if I must have a prior version physically installed to do the upgrade, can I install Flex Builder 3 on a temp Windows machine, upgrad

  • Problems with NAT and UDP

    hi Everyone, I'm running a Cisco 3620 with two interfaces, a FE and an ADSL WIC, and I'm noticing some unexpected behaviour with NAT(ing) some UDP ports, here are the config rules in question: ip nat inside source static udp 192.168.100.26 14000 inte

  • TIFF files not placing/placing as blank images in InDesign CC

    I'm working on a large catalog and am having issues with just one of the TIFF files I'm trying to place out of 300+ that have all been saved the same way in Photoshop. When I try to replace the image within it's original bounding box, it erases anyth

  • Adobe Air and http redirection

    hi, I have a html based web application (Html+Js) working very well when it is called from a web browser. It uses Apache as web server that proxies inbound requests to Tomcat using AJP, in httpd.conf I have something like this: <VirtualHost *:80>   S

  • KMS licensing and performance impacts of Office 2010 OSPPSVC in a Remote Desktop Services Environment?

    I have been directed from the Office Install/Upgrade/Activate forum to ask my question in this forum: We have Office 2010 deployed in our 2008R2 RDS environment across 100's of servers.  We have multiple (failover) KMS servers, and there have been no