PDA

View Full Version : How to get Fonts Path on Windows Server 2008 R2 with Role "Terminal Services" install



NewsArchive
02-09-2010, 01:29 AM
Hi at all,

how can I get Fonts Path on Windows Server 2008 R2 with Role "Terminal
Services" installed?

%FONTSDIR% is empty and if I use the DLL-Function "getKnownFolderPath",
I receive the directory

C:\users\administrator\windows\fonts

I've read on the internet, that this is not a bug in windows but a
feature. It's for compatibility reasons. But it makes it impossible to
install Fonts with SetupBuilder.

Any suggestions?

Thanks in advance.

Markus

NewsArchive
02-09-2010, 01:30 AM
OK, I believe, that I have to switch to "install mode" bevor I run my
setup. Is it possible to detect, if I do NOT run in install mode on a
terminal server nad abort my setup or even switch to install mode
automatically with a few script lines?

Markus

NewsArchive
02-09-2010, 01:31 AM
Hi Markus,

> OK, I believe, that I have to switch to "install mode" bevor I run my
> setup. Is it possible to detect, if I do NOT run in install mode on a
> terminal server nad abort my setup or even switch to install mode
> automatically with a few script lines?

According to Cláudio Rodrigues, Microsoft MVP, Windows Server / Terminal
Services, it is not possible to programmatically detect "install mode" on a
terminal server.

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

SetupBuilder is Windows 7 installation -- "point. click. ship"

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
02-10-2010, 12:58 AM
Hi Friedrich

When you install software onto a terminal server the correct way is through
the Add Remove Program, its been like this from year dot. <g>

So if there is a way to get SB to detect its been run from the ARP then
Markus will be in business.<g>

Heres a little more info that might be of use.
http://community.flexerasoftware.com/archive/index.php?t-175476.html

Cheers

Richard

NewsArchive
02-10-2010, 12:59 AM
Hi Richard,

I don't think (but I can be wrong <g>) that it is possible to detect whether
a .exe program has been launched from ARP. I did not find any Windows API
to handle this. And as far as I can see, it does not even (correctly) work
from InstallShield MSI projects <g>.

Friedrich

NewsArchive
02-10-2010, 12:59 AM
Hi Friedrich

Maybe these will help?<g>

http://support.microsoft.com/Default.aspx?kbid=2002357
http://connect.microsoft.com/tsappcompat/ TS white papers you need to have
an account for this but its free from my quick looks.
http://support.microsoft.com/?kbid=223300
http://support.microsoft.com/?kbid=195950
http://www.brianmadden.com/blogs/brianmadden/archive/2004/08/03/how-applications-use-the-registry-in-terminal-server-environments-part-2-of-3.aspx
http://support.microsoft.com/?kbid=186498
http://technet.microsoft.com/en-us/library/cc787360%28WS.10%29.aspx

It will be interesting to see what you find becuase I know I'm going to be
facing this issue myself shortly funnily enough.<g>

Plus is it worth looking at Citrix whilst on the subject of Terminal Server?

Cheers

Richard

NewsArchive
02-10-2010, 01:00 AM
Hi Richard,

> Plus is it worth looking at Citrix whilst on the subject of Terminal
> Server?

Thanks for sharing the interesting links.

BTW, there will not be any SB7 change with regards to "Terminal Server" in
the future. And Citrix can be supported with the SB7 "exe2msi" option (MSI
is the only way to install on Citrix).

http://www.lindersoft.com/forums/showthread.php?t=21942

Friedrich

NewsArchive
02-10-2010, 01:01 AM
Hi Friederich,

Installshield has a system variable %ADDREMOVE% which is $TRUE$, if
setup was launched by ARP.

Markus

NewsArchive
02-10-2010, 01:01 AM
Markus,

> Installshield has a system variable %ADDREMOVE% which is $TRUE$, if setup
> was launched by ARP.

Yes, for MSI projects, right?

Friedrich

NewsArchive
02-10-2010, 01:02 AM
Yes, for MSI Projects. But MSI is not magic, just a cup of 0 and 1. And,
with some research, SB can do the same thing as MSI, just better...

Markus Zander

NewsArchive
02-10-2010, 01:02 AM
The better your product, the higher the claims of your customers :-)

Markus Zander

NewsArchive
02-10-2010, 01:02 AM
>
> The better your product, the higher the claims of your customers :-)
>

<BG> :)

Friedrich

NewsArchive
02-10-2010, 01:03 AM
>
> Yes, for MSI projects, right?
>

BTW, if you start a .msi (nothing more or less than a SQL database) then the
Windows Installer engine creates a property called "DATABASE". This
property contains the path to the cached .msi. Then a property called
"ORIGINALDATABASE" is created and contains the path to the original .msi
file launched. In .msi, if an installation is launched from the ARP, then
these two properties will be equal.

But this "method" does not work for native .exe Windows applications.

Friedrich

NewsArchive
02-10-2010, 01:04 AM
Not the only "correct" way from year dot, AFAIK, Richard.

For years (back to NT4 at least), there's also been the command-line:
change user /install

http://technet.microsoft.com/en-us/library/cc730696(WS.10).aspx

http://technet.microsoft.com/en-us/library/dd262136(WS.10).aspx

http://technet.microsoft.com/en-us/library/cc781026(WS.10).aspx

http://blogs.technet.com/perfguru/archive/2008/06/30/how-to-install-application-windows-2008-terminal-server.aspx

Jane Fleming


> Hi Friedrich
>
> When you install software onto a terminal server the correct way is
> through the Add Remove Program, its been like this from year dot. <g>
>

NewsArchive
02-10-2010, 01:08 AM
Hi Jane

> Not the only "correct" way from year dot, AFAIK, Richard.
>
> For years (back to NT4 at least), there's also been the command-line:
> change user /install

Could I argue that the Add/Remove Programs method is just a GUI on top of
the command line?<vbg>

Cheers

Richard

NewsArchive
02-10-2010, 01:09 AM
You could argue.
I'm not sufficiently privy to the inner workings to know.

But your original post saying "the correct way" seemed to leave little room
for another "correct way" <g>

And a command-line procedure has more possibilities of being invoked from
within an installation program.

Jane Fleming

NewsArchive
02-10-2010, 01:10 AM
I've found, that there is a file

%_CSIDL_PROFIL%\TsAllUsr.Dat

when Windows is running in install mode.

Has anybody a better idea than to check, if this file is present?

The following API function is offical not supported bei M$:
http://msdn.microsoft.com/en-us/library/bb432494(VS.85).aspx

Markus


BTW: Friedrich: Could you add %_CSIDL_PROFIL%, please?

NewsArchive
02-10-2010, 01:10 AM
Markus,

>
> BTW: Friedrich: Could you add %_CSIDL_PROFIL%, please?
>

No problem. We'll add CSIDL_PROFILE.

Friedrich