Redefine the <tr> tag or add a .donotbreak style and apply it to table row. Example:

.donotbreak {
Page-break-inside: avoid;

Most probably HTMLPrint file name was changed, but its configuration file wasn't modified accordingly and because that HTMLPrint cannot find it. Since HTMLPrint stores the activation code in the configuration file that is stored in its own folder, if the file is not found, it will ask for the activation code again.

By default HTMLPrint file name is "htmlprint.exe" and the default configuration file name is "htmlprint.ini". Since HTMLPrint by default looks for a configuration file named following HTMLPrint file name, but with different file extension, in case HTMLPrint file name is changed, the configuration file should be adjusted accordingly.

Example: If HTMLPrint is named "printerprog.exe", just name the configuration file "printerprog.ini".

When entering the activation code HTMLPrint should run with Administrator privileges, otherwise I may not be able to save the activation code to the configuration file. Of course this depends on where HTMLPrint is located. Subdirectories inside the Program Files directory are not writable without Administrator privileges, but that is not the case with non-system directories.