Monday, December 7, 2009

Event Viewer - vc80.mfcloc could not be found

When you start Microsoft Dynamics CRM 3.0 Mobile Deployment Manager on a Microsoft Dynamics CRM server, the following event IDs are logged in the event log.

Event ID: 32
Source: SideBySideEvent ID: 32 Description: Dependent Assembly Microsoft.VC80.MFCLOC could not be found.
Event ID: 59
Source: SideBySideEvent ID: 59 Resolve Partial Assembly failed for Microsoft.VC80.MFCLOC. Reference error message: The referenced assembly is not installed on your system.
Event ID: 59
Source: SideBySideEvent ID: 59 Generate Activation Context failed for C:\WINDOWS\system32\MFC80U.DLL. The referenced assembly is not installed on your system.


Please check:
http://support.microsoft.com/kb/923014/en-us

Wednesday, November 4, 2009

Using Group Policy to Deploy Applications

Before We Begin
The technique that I’m about to show you will allow you to deploy applications through the Active Directory. One of the major limitations behind this type of application deployment is that you can only use this technique to deploy certain types of applications. Specifically, you can install Windows Installer packages (.MSI files), Transform Files (.MST files), and patch files (.MSP files).

Creating MSI Files
Windows does not natively contain the necessary tools for you to create your own MSI files. Instead, you will have to rely on a third party MSI creation tool. There are several good tools available for free. Two of the more popular choices are MAKEMSI (http://dennisbareis.com/makemsi.htm) and WinInstall LE 2003 (http://www.ondemandsoftware.com/freele.asp).


Being that I’ve never been a big fan of script writing, I prefer to use the WinInstall LE tool to create MSI files. It doesn’t require any scripting, but it is a little time consuming to use. WinInstall LE requires you to have a machine with a clean Windows installation and network connectivity. The software then takes a snapshot of this machine and saves the configuration image. You would then install the application that you want to create the MSI file for and take another snap shot. WinInstall would then compare the snapshots and use the differences between the two images to create an MSI file and the corresponding installation package.

This method is a little time consuming, but is far less tedious than writing scripts. Another advantage to using this method is that it is possible to install multiple applications on to the clean machine prior to taking the second snap shot. This means that you can create a single MSI file and installation package that deploys multiple applications.

Publishing and Assigning Applications
Now that you know how to create an MSI file, there is one last concept that I need to talk about before I show you how to deploy an application thorough the Active Directory.

As you may already know, in an Active Directory environment, group policies are the main component of network security. Group policy objects can be applied either to users or to computers. Deploying applications through the Active Directory is also done through the use of group policies, and therefore applications are deployed either on a per user basis or on a per computer basis.

There are two different ways that you can deploy an application through the Active Directory. You can either publish the application or you can assign the application. You can only publish applications to users, but you can assign applications to either users or to computers. The application is deployed in a different manner depending on which of these methods you use.

Publishing an application doesn’t actually install the application, but rather makes it available to users. For example, suppose that you were to publish Microsoft Office. Publishing is a group policy setting, so it would not take effect until the next time that the user logs in. When the user does log in though, they will not initially notice anything different. However, if the user were to open the Control Panel and click on the Add / Remove Programs option, they will find that Microsoft Office is now on the list. A user can then choose to install Microsoft office on their machine.

One thing to keep in mind is that regardless of which deployment method you use, Windows does not perform any sort of software metering. Therefore, it will be up to you to make sure that you have enough licenses for the software that you are installing.

Assigning an application to a user works differently than publishing an application. Again, assigning an application is a group policy action, so the assignment won’t take effect until the next time that the user logs in. When the user does log in, they will see that the new application has been added to the Start menu and / or to the desktop.

Although a menu option or an icon for the application exists, the software hasn’t actually been installed though. To avoid overwhelming the server containing the installation package, the software is not actually installed until the user attempts to use it for the first time.

This is also where the self healing feature comes in. When ever a user attempts to use the application, Windows always does a quick check to make sure that the application hasn’t been damaged. If files or registry settings are missing, they are automatically replaced.

Assigning an application to a computer works similarly to assigning an application to a user. The main difference is that the assignment is linked to the computer rather than to the user, so it takes effect the next time that the computer is rebooted. Assigning an application to a computer also differs from user assignments in that the deployment process actually installs the application rather than just the application’s icon.

Deploying Applications
Setting up the actual deployment is simple. The biggest thing that you must remember is that the MSI file and the corresponding package must exist within a network share, and everyone must have read permissions for that share.

To perform the deployment, open the Group Policy Editor. To publish or assign an application to a user, navigate through the group policy console to User Configuration Software Settings Software Installation. Now, right click on the Software Installation container and select the New Package commands from the shortcut menu. Select the appropriate MSI file and click Open. You are now asked whether you want to publish or assign the application. Make your selection and click OK.

The process for assigning an application to a computer is almost identical. The only real difference is that you would use the Software Settings Software Installation container beneath the Computer Configuration container rather than beneath the User Configuration container.




See also (for unatended installation):

http://unattended.sourceforge.net/installers.php

Tuesday, November 3, 2009

Performance Counters - Open a saved log (blg file)

1. Open Performance mmc from administrative tools.
2. Click the icon on the System Monitor that has the database symbol (a cylinder) and browse to the location where you saved the log file (BLG).
3. Click Add (a plus) to add the objects you monitored.

Performance Counter - Explanation

Please go to:

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

Performance Counters - Disks Fast Enough?

Let's look at a couple of indicators of well-functioning hard disks in your system. Watch the Physical Disk (instance)\Disk Transfers/sec counter for each physical disk and if it goes above 25 disk I/Os per second then you've got poor response time for your disk. A bottleneck from a disk can significantly impact response time for applications running on your system, so you should investigate this further by tracking Physical Disk(instance)\% Idle Time, which measures the percent time that your hard disk is idle during the measurement interval, and if you see this counter fall below 20% then you've likely got read/write requests queuing up for your disk which is unable to service these requests in a timely fashion. In this case it's time to upgrade your hardware to use faster disks or scale out your application to better handle the load.

Performance Counter - Got Enough RAM?

The Memory\Pages/sec counter indicates the number of paging operations to disk during the measuring interval, and this is the primary counter to watch for indication of possible insufficient RAM to meet your server's needs. A good idea here is to configure a perfmon alert that triggers when the number of pages per second exceeds 50 per paging disk on your system. Another key counter to watch here is Memory\Available Bytes, and if this counter is greater than 10% of the actual RAM in your machine then you probably have more than enough RAM and don't need to worry.

You should do two things with the Memory\Available Bytes counter: create a performance log for this counter and monitor it regularly to see if any downward trend develops, and set an alert to trigger if it drops below 2% of the installed RAM. If a downward trend does develop, you can monitor Process(instance)\Working Set for each process instance to determine which process is consuming larger and larger amounts of RAM. Process(instance)\Working Set measures the size of the working set for each process, which indicates the number of allocated pages the process can address without generating a page fault. A related counter is Memory\Cache Bytes, which measures the working set for the system i.e. the number of allocated pages kernel threads can address without generating a page fault.

Finally, another corroborating indicator of insufficient RAM is Memory\Transition Faults/sec, which measures how often recently trimmed page on the standby list are re-referenced. If this counter slowly starts to rise over time then it could also indicating you're reaching a point where you no longer have enough RAM for your server to function well

Performance Counters - Is Hardware Functioning Properly

There are a couple of perfmon counters you can track to monitor for signs that your machine's hardware devices are functioning properly. One of these is System\Context Switches/sec, which measures how frequently the processor has to switch from user- to kernel-mode to handle a request from a thread running in user mode. The heavier the workload running on your machine, the higher this counter will generally be, but over long term the value of this counter should remain fairly constant. If this counter suddenly starts increasing however, it may be an indicating of a malfunctioning device, especially if you are seeing a similar jump in the Processor(_Total)\Interrupts/sec counter on your machine. You may also want to check Processor(_Total)\% Privileged Time Counter and see if this counter shows a similar unexplained increase, as this may indicate problems with a device driver that is causing an additional hit on kernel mode processor utilization. In this case you can drill down and maybe find the culprit by examining the Process(instance)\% Processor Time counter for each process instances running on your machine. This won't directly tell you which driver is utilizing processor time, but it may indicate which calling application is indirectly causing the problem and may help you troubleshoot the issue further.

If Processor(_Total)\Interrupts/sec does not correlate well with System\Context Switches/sec however, your sudden jump in context switches may instead mean that your application is hitting its scalability limit on your particular machine and you may need to scale out your application (for example by clustering) or possibly redesign how it handles user mode requests. In any case, it's a good idea to monitor System\Context Switches/sec over a period of time to establish a baseline for this counter, and once you've done this then create a perfmon alert that will trigger when this counter deviates significantly from its observed mean value.

Performance counters - How Busy Is It?

A server that's too busy may be unable to satisfactorily respond to client requests. That translates into unhappy users and let's face it, an important aspect of your job as an administrator is to ensure a satisfactory "experience" for the end-users you support. The simplest measure of a system's busyness is Processor(_Total)\% Processor Time, which measures the total utilization of your processor by all running processes. Note that if you have a multiprocessor machine, Processor(_Total)\% Processor Time actually measures the average processor utilization of your machine (i.e. utilization averaged over all processors).

If you're monitoring this counter and it's running at or near 100% for extended periods, you should drill down at the process level by examining Process(instance)\% Processor Time counter for various process instances on your machine. For example, on an IIS web server you might track Process(inetinfo)\% Processor Time, while on an Exchange server a good counter to watch is Process(store)\% Processor Time and so on. High processor utilization isn't always a sign of a problem however. For example, when a backup job is running it's typical for processor utilization to hit high levels for the duration of the backup, especially if the backup program is encrypting or compressing information before writing it to tape. In fact, if your server typically runs at around 70% or 80% processor utilization then this is normally a good sign and means your machine is handling its load effectively and not under utilized. Average processor utilization of around 20% or 30% on the other hand suggests your machine is under utilized and may be a good candidate for server consolidation using Virtual Server or VMWare.

Another thing you can do to investigate high processor utilization is to break it down into Processor(_Total)\% Privileged Time and Processor(_Total)\% User Time, which respectively show processor utilization for kernel- and user-mode processes on your machine. If kernel mode utilization is high, your machine is likely underpowered as it's too busy handling basic OS housekeeping functions to be able to effectively run other applications. And if user mode utilization is high, it may be you have your server running too many specific roles and you should either beef hardware up by adding another processor or migrate an application or role to another box.

If your machine is running several applications or handles several server roles on your network, another way to measure busy-ness is to measure processor contention, which is an indication of how different threads are fighting for the attention of the processors on your machine. If too many threads are contending for use of the same processor, the requests by these threads get queued up, and looking at the System\Processor Queue Length counter gives an indication of how many threads are waiting for execution. If this counter is consistently higher than around 5 when processor utilization approaches 100%, then this is a good indication that there is more work (active threads) available (ready for execution) than the machine's processors are able to handle. Note that this is not always a hard and fast indicator however, for some services like IIS 6 pool and manage their own worker threads, so on a busy web server for example you would want to look at other counters like ASP\Requests Queued or ASP.NET\Requests Queued as well. Furthermore, the larger the number of active services and applications running on your server, the busier the processor queue will normally be, so on a multi-role server running near 100% utilization content may only be a significant factor once System\Processor Queue Length exceeds something like 10 instead of 5 as mentioned previously.

Friday, September 25, 2009

InfoPath cannot create a new blank form / InfoPath cannot open the form. To fix this problem contact you system administrator



Infopath cannot create a new blank form
InfoPath cannot open the form. To fix this problem contact you system administrator

If this error occur you need to open infopath and go to

tools menu > form options > security and trust > uncheck "automatically determine security level" > select "full trust"

and it's done!

Wednesday, September 2, 2009

IIS error - Unable to display page or site - .NET framework error is displayed

If you are using IIS with .Net framework web site you need to install .Net after IIS.

If you install IIS after .Net framework you need to run:

C:\WINDOWS\Microsoft.NET\Framework\".net version"\aspnet_regiis.exe

If it doesn't work you can run it with the following parameters
-ua > to uninstall all versions
-i > to install that specific version

Other Parameters:
-i - Install this version of ASP.NET and update scriptmaps
at the IIS metabase root and for all scriptmaps below
the root. Existing scriptmaps of lower version are
upgraded to this version.
-ir - Install this version of ASP.NET, register only. Do
not update scriptmaps in IIS.
-enable - When -enable is specified with -i or -ir, ASP.NET will also
be enabled in the IIS security console (IIS 6.0 or later).
-s - Install scriptmaps for this version at the specified path,
recursively. Existing scriptmaps of lower version are
upgraded to this version.
E.g. aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1
-sn - Install scriptmaps for this version at the specified path,
non-recursively. Existing scriptmaps of lower version are
upgraded to this version.
-r - Install scriptmaps for this version at the IIS metabase
root and for all scriptmaps below the root. All existing
scriptmaps are changed to this version, regardless of
current version.
-u - Uninstall this version of ASP.NET. Existing scriptmaps
to this version are remapped to highest remaining
version of ASP.NET installed on the machine.
-ua - Uninstall all versions of ASP.NET on the machine
-k - Remove all scriptmaps to any version of ASP.NET from the
specified path, recursively.
E.g. aspnet_regiis.exe -k W3SVC/1/ROOT/SampleApp1
-kn - Remove all scriptmaps to any version ASP.NET from the
specified path, non-recursively.
-lv - List all versions of ASP.NET that are installed on the
machine, with status and installation path.
Status: Valid[ (Root)]|Invalid
-lk - List all the path of all IIS metabase keys where ASP.NET is
scriptmapped, together with the version. Keys that inherit
ASP.NET scriptmaps from a parent key will not be displayed.
-c - Install the client side scripts for this version to the
aspnet_client subdirectory of each IIS site directory.
-e - Remove the client side scripts for this version from the
aspnet_client subdirectory of each IIS site directory.
-ea - Remove the client side scripts for all versions from the
aspnet_client subdirectory of each IIS site directory.
-? - Print this help text.

Unable to find script library '/aspnet_client/system_web/'donetversion'/WebUIValidation.js

if you are getting this error:

Unable to find script library '/aspnet_client/system_web/'donetversion'/WebUIValidation.js'


run 'aspnet_regiis -c' -> start>run>cmd>cd C:\WINDOWS\Microsoft.NET\Framework\"version" > aspnet_regiis -c

How to stop or restart IIS

start > run > iisreset /start
iisreset /stop
iisreset

Thursday, August 20, 2009

Set user as logon Service

Control Panel > Administrative tools > Local Security Policies > Security Settings > Local Policies > User Rights Assignment > Log on as a Service
an then Add the user to the list
done

Friday, July 17, 2009

Improve HDD performance/Melhorar performance do disco rigido

Afinal como pode melhorar a performance do disco rígido no Windows XP/2003?

Para melhorar a performance do disco rígido, o utilizador precisa apenas de configurar um buffer especial na memória do computador. Esta configuração especial irá criar um melhor compromisso dos IRQ do disco.

Esta afinação necessita de um mínimo de 256MB, logo, tenha atenção nas máquinas mais antigas.

Começamos por:

1. Execute na janela Executar o comando SYSEDIT.EXE.

2. Expanda a janela system.ini.

3. Role as linhas para baixo, quase até ao final até encontrar a linha [386enh].

4. Clique no Enter para criar uma linha em branco por baixo da referência que falamos anteriormente. Agora escreva o seguinte: Irq14=4096

Nota: o comando terá de ser em minúsculas.

5. Clique no menu Ficheiro e escolha Guardar.

6. Agora feche a janela SYSEDIT e reinicie o computador.

Pronto está feito. As alterações só serão “provavelmente” visíveis, depois de o reiniciar. Este “tweak” à optimização do system.ini funciona muito bem nos discos IDE, no entanto também há registos de melhorias em discos SCSI.

A alteração não fará qualquer mal ao seu computador, se não vir de imediato melhorias.


Será que melhora? de certo o disco nao sera mais rapido o que pode é melhorar a performance do SO no que concerne ao acesso ao disco.

deêm as vossas opinioes!

Thursday, July 16, 2009

Windows 7 & logmein

when try to remote control a windows 7 computer logmein always give a information of bad username or password.

username must be:
localhost\"username" or "machineName"\"username"

then password and the you're in!

Thursday, June 18, 2009

registry has been disable by your administrator

find in registry:
"DisableRegistryTools"

change value to "0"

now your user can change registry

Monday, March 30, 2009

change user profile folders location in windows xp/ Alterar Localização de determinadas pastas de perfil no Windows XP

Change user profile folders location in windows xp/ Alterar Localização de determinadas pastas de perfil no Windows XP


download this version of tweak UI for Xp, and in the program, go
my computer > special folders
and then it's pretty self explanitory.

Tuesday, March 17, 2009

Activar WinXP / Activate WinXP

1. Vá em Iniciar > Executar
2. Digite regedit e clique em OK.
3. Já dentro do regedit, navegue até a chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WPAE
vents
4. No painel à direita, clique duas vezes em OOBETimer
5. Na janela que foi aberta, apague qualquer valor e clique em OK. Feche o regedit
6. Vá novamente em Iniciar > Executar e dessa vez digite:
%systemroot%\system32\oobe\msoobe.exe /a
7. Na janela que foi aberta, escolha a opção Sim, desejo telefonar…
8. Na próxima etapa, clique no botão Alterar chave de produto.
9. Na etapa seguinte, digite a CD-Key:
THMPV-77D6F-94376-8HGKG-VRDRQ
e clique no botão Atualizar
10. Após clicar no botão Atualizar, o assistente para ativação voltará para a janela anterior,
então, clique em Lembrar mais tarde e reinicie o Windows.
11. Reiniciado o Windows vá novamente em Iniciar > Executar e digite:
%systemroot%\system32\oobe\msoobe.exe /a
12. Aparecerá a seguinte mensagem:
Ativação do Windows
O Windows já está ativado. Clique em OK para sair.


NEW OPTION - HERE

Tuesday, February 17, 2009

Running macro automatically on excel startup

If you record a macro and save it using the name "Auto_Open", the macro will run whenever you open the workbook that contains the macro.
If you want to save the macro with a particular workbook, open that workbook first.
On the Tools menu, point to Macro, and then click Record New Macro.
In the Macro name box, type Auto_Open.
In the Store macro in box, specify where to save the macro:
To save the macro in the current workbook, choose This Workbook.
To create a new workbook to save the macro in, choose New Workbook.
To save the macro in a hidden workbook that is automatically loaded when you start Excel, choose Personal Macro Workbook.
Note If you choose Personal Macro Workbook, Excel will create and save the macro in a hidden workbook named Personal.xls (if Personal.xls doesn't already exist). In Windows 2000, Personal.xls is saved in the C:\Documents and Settings\username\Application Data\Microsoft\Excel\XLStart folder so that it will be loaded automatically whenever Excel starts. If you want the macro you record and save in Personal.xls to act on a particular workbook, you must also save that workbook in the XLStart folder so that it will also be opened when Excel starts.
Click OK, and then perform the actions you want to record.
On the Stop Recording toolbar, click the Stop Recording button.
If you chose to save the macro in This Workbook or New Workbook in step 4, make sure to save or move the workbook into one of the XLStart folders.

Monday, February 16, 2009

Add Autoplay in HTML video

Add &autoplay=1 as shown bellow

Example:
<"http://www.youtube.com/v/0F71n8txhKY&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344">

Send Ctrl-Alt-Del in Remote Desktop

In order to send Ctrl-Alt-Del keystrokes to remote computer connected via Remote Desktop client, just press the following workaround keyboard shortcuts specially used in Remote Desktop environment:

Ctrl+Alt+End