Rexiology::Work

Microsoft, Information Technologies...

Community

News

  • From Taiwan, living and working at Tokyo, Japan.




Recent Posts

Tags

Microsoft Sites

Other Sites

Blog pools

Bloggers

Archives

Site Info



Locations of visitors to this page




Logos & Chicklets


GeoURL


Rex's Certifications
Rex's Certifications


Creative Commons授權條款
本 著作 係採用
Creative Commons 授權條款



Dynamics CRM 4.0 – Hide the Application Menu Toolbar…

crosspost from http://blogs.msdn.com/rextang

In the main page of Dynamics CRM, there is Application Menu Toolbar for users to do most of actions, also allowed for customizations.

sometimes you may got customization requirements (like me) not to customize this, but to completely remove it so that user would only be allowed to use Application navigation pane and the Wunderbar in the left side (maybe for the single path page transition for making SOP for users). so I spent some time to find a way to do this and would like to leave a note here.

if you go standard (supported) ways, it’s not possible to remove the application menu bar by modify sitemap, ISV.config, etc. but if you are an experienced asp.net / web developer, by examing the aspx code, soon you should find a way to workaround this.

The CRM home page is loaded by the /loader.aspx file, if you look at the code there, you’ll find that the home page is made by several IFrames. the CRM logo image and the menubar is located at top frame, so you can simplely just delete the frame to make it disappear. but if you do so, you’ll soon find that the application won’t function normally anymore and will get errors when you click anything. since actually many of other components are interacting with objects in this application menu bar.

so how do you solve this? well, simple enough, just adjust the frameset row size to “HIDE” this menu bar, and you are done! in the loader.aspx file, locate the line with

<frameset rows="112,*" border="0" style="border:0px;">

and change the row height to 60:

<frameset rows="60,*" border="0" style="border:0px;">

and you got something like this with everything working like nothing happened:

wondering if this modification works in Application Mode?

the answer is YES, it will also work in Application Mode. since it used the same loader.aspx file.

by the way, the source aspx of the top frame is located at [{crm web root}/_root/bar_Top.aspx], in case you want to see what’s it doing inside…

and be caution, this is not a supported customization!!

FYI.

Auto-Indent HTML source in Notepad++ using TextFX Html Tidy

crosspost from http://blogs.msdn.com/rextang

Am started investigating CRM 4.0’s aspx source for custimization. had the requirements of re-indenting aspx/html code so that I can see the table layout structure and others. here is the quick note about using TextFX Html Tidy in Notepad++ to do the html auto-indention.

First of all , HTML Tidy is a project of reformatting/transforming HTML source. and Notepad++ got TextFX plug-in and can work with HTML Tidy.

by referring to the Notepad++ Tidy page, it stated:

As installed, HTML Tidy will not do much - it requires a configuration file to activate it. For Notepad++, create a text file in the folder plugins\NPPTextFX under your Notepad++ installation folder, and name it tidycfg.ini. After creating the file, select TextFX -> TextFX HTML Tidy -> Refresh Menu from TidyCFG.INI from the menu to load the file in Notepad++. Notepad++ will then show a list of possible actions in the TextFX -> TextFX HTML Tidy menu.

so I just followed the instructions above to make the tidycfg.ini file and put those basic formatting rules on that page for testing. after that, just create a simple reformatting rule like this one:

[Re-Indent HTML Source]
indent: yes
indent-spaces: 2

and it’s done. by running this rule under Notepad++, the html source will be re-indented to tag-view-friendly indention for me to check the layout and debug.

pretty nice editor, Notepadd++, and pretty nice plug-in, the TextFX HTML Tidy!!

Change default View Source editor of IE

crosspost from http://blogs.msdn.com/rextang

started playing around CRM 4.0 customization. need to view the page html source often and need a good xml / html tag editor!

I choosed Notepad++ for my tag editor, found it pretty useful. and now got the question about using it by default when I view the page source in IE.

Found the information from Thea Burger’s blog and would like to note here for my further reference…

the registry key for setting the default view source editor for IE is at:

HKEY_LOCAL_MACHINE
|- Software
|-- Microsoft
|--- Internet Explorer
|---- View Source Editor
|----- Editor Name (Default) = C:\windows\notepad.exe

modify or create the key and make whatever editor you like here and you are done.

also by reading the comments of the post, Notepad++ made a exe file called “nppIExplorerShell.exe” that do this for you without get your hand dirty with registry editing (you have to select “As a default html viewer” while in the setup of Notepad++ to get this exe file copied to the working directory, or it won’t be copied. tested in Notepad++ v5.0.3)…

FYI.

Change logo in Dynamics CRM 4.0

crosspost from http://blogs.msdn.com/rextang

start from next month I am officially assigned to a project developing solutions using Microsoft Dynamics CRM 4.0 product. so I guess here would be tips and tricks memo about CRM 4.0 customization later on in this blog. and here is the first one.

How to change the logo image in the home page of CRM 4.0?

although this is still not a supported customization, it's still doable. referencing from Cesar de la Torre blog, here are the ways to do it.

1. change the image file at [C:\Program Files\Microsoft CRM Server\CRMWeb\_imgs\masthead.jpg] and you are done.

or

2. modify the css definition [TD.ms-crm-MastHead-Logo] at [C:\Program Files\Microsoft CRM Server\CRMWeb\_common\styles\global-dynamic-styles.css.aspx] file.

be sure to backup those settings when you are upgrading to new versoin of CRM or applying a patch, since the update might then overwrite your files and lost your logo custimization.

FYI.

Disable iPhone backup while iTunes sync…

quick tip. since everytime when syncing iphone 3g with itunes, it took lots of time backing up the application / data stored in iphone. found a way to disable this to speed up the sync process.

[via here]

for windows vista, locate the [iTunesPerfs.xml] under [C:\Users\<user-name>\AppData\Roaming\Apple Computer\iTunes] folder, open this xml file with xml editor like Notepad++, goto to the XML tag <key>User Preferences<key> and insert the following XML into this section immediately after the first <dict> tag:

<key>DeviceBackupsDisabled</key>
<data>
dHJ1ZQ==
</data>

save the file and done.

remember to remove this setting sometimes to let iTunes backup the iphone settings in case your phone get into some trouble and need a full restore…

FYI.

Technorati Tags: ,,,
Slipstream / Servicing Windows 2008 Server iso image with Hyper-V RTM bits...

crosspost from http://blogs.msdn.com/rextang

Just finished slipstream / servicing the windows 2008 server x64 iso image for using in my HPC server 2008 computing node provisioning (I would like my computing nodes to use Hyper-V Native network driver on Enterprise and MPI NIC to have high-speed access while bare-metal provisioning.) and like to write down the resource I found on net also the steps how I done it here for reference later.

(1) you need WAIK (Windows Automated Installation Kit) for Windows Vista SP1 and Windows Server 2008

download here and install it on your working machine. (it's a 1375.9mb iso file to download...)

(2) you need Windows 2008 Server iso images (x86 or x64, depends on your needs)

download the image from TechNet or MSDN downloads.

(3) you need Hyper-V RTM bits (KB950050)

x64 bits download here

(4) Some useful information to read

John Howard's Hyper-V RTM slipstream posts - part 1 ( part.2 and part.3 for reference if you are going to setup your own WDS server for PXE boot network installation, or want to service the Vista SP1 image with Hyper-V RTM bits)

The great tutorial post from Ramesh MVP on WinVistaClub forum about Merging Vista x86 and Vista x64 images into a single DVD. key point here is the usage of oscdimg.exe provided from WAIK to create the iso image from serviced bits.

(5) All set! let's get hands dirty!!

(A) Install WAIK to your working machine or working VM

(B) Open "Windows PE Tools Command Prompt" from WAIK start menu group. the rest of commands all happen here.

(C) create some working folder. I created [c:\aik-mount] for mount folder, [c:\aik-temp] for temp folder and [c:\aik-all4iso] for source folder to create serviced iso image.

(D) Extract KB950050 msu file to get the cab file for servicing / slipstreaming.

      cmd> expand –F:* <pathtomsu> <folder>

(E) mount the windows server 2008 iso image and copy all the files to [c:\aik-all4iso] folder.

(F) servicing hyper-v rtm bits to [install.wim] file under [c:\aik-all4iso\sources\]. the install.wim file should contain 6 index for various editions of server installations (Standard, Enterprise, DataCenter editions, with Server and Server-Core installations). do the servicing / slipstream for all the editions and installations. (to see the package content for a wim file, using cmd> imagex /info path-to-wim-file)

      cmd> imagex /mountrw c:\aik-all4iso\sources\install.wim 1 c:\aik-mount
      cmd> start /w pkgmgr /ip /m:c:\path-to-kb950050-cab-file\Windows6.0-KB950050-x64.cab /o:c:\aik-mount;c:\aik-mount\windows /s:c:\aik-temp
      cmd> imagex /unmount /commit c:\aik-mount


      cmd> imagex /mountrw c:\aik-all4iso\sources\install.wim 2 c:\aik-mount
      cmd> start /w pkgmgr /ip /m:c:\path-to-kb950050-cab-file\Windows6.0-KB950050-x64.cab /o:c:\aik-mount;c:\aik-mount\windows /s:c:\aik-temp
      cmd> imagex /unmount /commit c:\aik-mount

      cmd> imagex /mountrw c:\aik-all4iso\sources\install.wim 3 c:\aik-mount
      cmd> start /w pkgmgr /ip /m:c:\path-to-kb950050-cab-file\Windows6.0-KB950050-x64.cab /o:c:\aik-mount;c:\aik-mount\windows /s:c:\aik-temp
      cmd> imagex /unmount /commit c:\aik-mount

      cmd> imagex /mountrw c:\aik-all4iso\sources\install.wim 4 c:\aik-mount
      cmd> start /w pkgmgr /ip /m:c:\path-to-kb950050-cab-file\Windows6.0-KB950050-x64.cab /o:c:\aik-mount;c:\aik-mount\windows /s:c:\aik-temp
      cmd> imagex /unmount /commit c:\aik-mount

      cmd> imagex /mountrw c:\aik-all4iso\sources\install.wim 5 c:\aik-mount
      cmd> start /w pkgmgr /ip /m:c:\path-to-kb950050-cab-file\Windows6.0-KB950050-x64.cab /o:c:\aik-mount;c:\aik-mount\windows /s:c:\aik-temp
      cmd> imagex /unmount /commit c:\aik-mount

      cmd> imagex /mountrw c:\aik-all4iso\sources\install.wim 6 c:\aik-mount
      cmd> start /w pkgmgr /ip /m:c:\path-to-kb950050-cab-file\Windows6.0-KB950050-x64.cab /o:c:\aik-mount;c:\aik-mount\windows /s:c:\aik-temp
      cmd> imagex /unmount /commit c:\aik-mount

(G) now the install.wim is all serviced with hyper-v rtm bits. next to create the new serviced iso using oscdimg.exe

cmd> oscdimg.exe –u2 –bc:\aik-all4iso\Boot\etfsboot.com –lKRMSXVOL_EN_DVD –g –t08/12/2008,23:30:00 –h c:\aik-all4iso c:\win2k8-x64-hyperv-rtm-serviced.iso

And until here, you got the hyper-v rtm serviced windows 2008 server x64 install iso image to use!! LOL!

already tested this iso while installing my HPC computing nodes without problems. all in the Hyper-V virtual environment and during a 8 computing nodes installation (simutaniously), computing nodes successfully found the AD server using the Hyper-V native network card as Enterprise network NIC and complete the bare node installation without human interference!! nice!!! this could expend if I want to simutaniously install 1000 computing nodes in the same time. the latest Windows HPC Server 2008 RC1 bits is really stable and cool on installing and managing nodes! can focus more time on writing codes for HPC now!

FYI.

SQL Server 2008 RTMed!!

crosspost from http://blogs.msdn.com/rextang

for the long waiting, at 8/6 PST time, SQL Server 2008 finally RTMed!

checkout press release here:

http://www.microsoft.com/presspass/press/2008/aug08/08-06SQLServer2008PR.mspx

download place here:

http://msdn.microsoft.com/en-us/sqlserver/default.aspx

product samples available at CodePlex (via reedme):

http://www.codeplex.com/SqlServerSamples/Release/ProjectReleases.aspx?ReleaseId=16037

FYI.

Technorati Tags: ,,
Disable then Delete ActiveX on IE7 under Protection mode won’t install and run again…

crosspost from http://blogs.msdn.com/rextang

Symptoms:

Under IE7, under protection mode on, normally installed an ActiveX control. open IE7 Add-on manager, locate the ActiveX control, and disable it. because the ActiveX control is running, close the IE7 window and open a new one, or open internet settings under control panel. open the Add-on manager again, then delete the control while in disabled status. once deleted, going to the same page to install the control again. it will show a small icon in the status bar indicating that the control cannot be used. double-click the icon will open the Add-on manager, but since the control is not installed, there is no way to make the control to be enabled again.

Cause:

It seems that under IE7 protection mode, the IE or the ActiveX control won’t be able to modify certain registry keys, thus left the Add-on disable bits in the registry. when the control is going to be installing / loading again, IE7 check the disable bit and then prevent the control from running / installing.

Resolution:

Since under protection mode there is limited security context to do the registry modification, by turn off the protection mode, IE7 will be able to modify / delete the Add-on disable bits and the control will install and run again.

More Information:

When disabling an ActiveX control, IE7 will place a registry key under

HKEY_USERS\[User-LONG-SID]\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\[ActiveX CLSID]

under the key there will be a “Flags” DWORD key setting to 1, indicates the control had been disabled. when enable the control again, the [ActiveX CLSID] folder will be all deleted, indicates that the control is not been blocked / disabled.

When under protection mode, IE7 seems not able to modify the registry key here, thus even the control is deleted / unregistred from the registry, this key will remain there. once going to reinstall the control again under protection mode, IE7 checks this key and determine that the control is blocked and preventing from loading / installing it.

When turning protection mode off, or just set the web server to trusted zone (protection mode off by default in trusted zone), IE7 will be able to modify this key and when going to reinstall the control, it will first delete the setting here to let it install.

Remarks:

Those facts were examed by setting a test env. and tested the control behavior, also by comparing the whole registry under various situations, for a feasibility study of a Vista / IE7 infrastructure migration project. this should be a rare case since that for intranet business web applications, normally the intranet web servers will be set into trusted zone thus will be running under protection mode off.

FYI.

Technorati Tags: ,,,,,
SxS (SideBySide) problem, again (on ATL ActiveX control)…

crosspost from http://blogs.msdn.com/rextang

What if you had written an native ATL ActiveX control and just can not let it show on your IE7 browser?

You had considered all those security reasons like:

  • turning on “using unsigned ActiveX control” on IE7 setting for Internet Zone
  • turn off portection mode for Internet Zone
  • put the test webserver url to trusted zone

and if your native ActiveX control still not showing up, you better check out the application log in event viewer!!

I am using VS2008 VC++ to create an ATL 8.0 ActiveX Control, after compiled the dll, only copy the dll to the web server for download. tested my control via IE7 of another Vista VM and the control just won’t show up even I’ve lower the security level.

later found this post from Junfena Zhana, checked the application log and confirmed that it’s indeed a SxS problem, I am lacking VC90 CRT runtime. also knew that I was compiled my control in debug mode so that on the client side there won’t have the debug version of VC90 CRT. by running SxSTrace to confirm the lacking dll, I just installed the VC++ 2008 Redistributable Package on my testing Vista VM, also recompile my dll in release mode, and my ATL ActiveX control finally showed up in IE7 browser!

Another SxS problem faced… feeling so tough living in a world without .NET framework…

FYI.

VS2008, C++ Project, WinSxS requestedPrivileges error…

crosspost from http://blogs.msdn.com/rextang

Got a task to write a native ActiveX control to run under IE7 for testing the security context when the ActiveX control creating another process to run a WinForm application.

It’s pretty easy to create an  ActiveX control using .NET, but this time I have to use native C++ code. been a long time not writing those stuffs, got a tough learning curve to get those thing back last week.

Am going to take the shortest path of using ATL to create ActiveX control under VS2008 C++ ATL Project. following the ATL Tutorial and it also pointed out another MFC example TstCon (ActiveX Control Test Container) for testing the control without using a browser. followed the instructions to build the TstCon example and when going to run it, got the following error:

The application had failed to start because uts side-by-side configuration is incorrect. Please see the application event log for more detail.

By looking to Application event log, got the error as following:

Activation context generation failed for "C:\path-to\TstCon32.exe".Error in manifest or policy file "C:\path-to\TCProps.DLL" on line 1. The requestedPrivileges element is not allowed in component manifest.

by searching the internet, found the info about this problem also got a solution for this. by turning off the UAC linker option (Enable User Account Control (UAC), the /MANIFESTUAC option) that’s defaultly Yes to No, and rebuild the application, the error is vanished the the TstCon application started.

Now I can continue testing my ActiveX control…

FYI.

iPhone 3G experiences (part 1)…

spent the weekend all, with the new iPhone 3G!!

at 7/11 friday, the tokyo city was like a mess, the major big stores which sell cellphones were full of people lining up trying to be the first to get iPhone 3G. although I don’t think it’s worth time to line there just wait, I got up pretty early at friday, going out to see if I got the chance to get a line ticket for buying it.

fortunately when I went to the Sinjuku station at 9AM, there was still a Softbank shop dispatching the ordering tickets, I was told to go to that store at 3PM to buy the iPhone 3G. so I went back to work, and coming back to the store at 2:50PM, waiting in the queue about 30mins, and spent about 30 mins for all the subscriber registratoin process, finally , I got my shiny black iPhone 3G with 16GB ram! wow!!

back to office, seems I was the only one that get the iphone 3G, some of my colleagues came to toy around the phone, and I was also busy on other things that had no time to set the phone up. after the end of friday. finally on the weekend , I can have time for a read through of the iPhone 3G tips and tricks pages and setup my iphone 3G correctly.

as the conclusion I have to say, that this new iPhone 3G is really amazing! too amazing that it’s likely the most best cellphone I’ve used until now. the touch screen, the sensitivity, the UI, the OS, the unlimited posibilities of software development and support, the online store mechanism, it’s all so smooth integrated that for a normal user can just easily manage it. terrific!!

beside the apple things, the Microsoft Exchange Server ActiveSync support is the best part for business. my company using exchange server and we sync our mail/contact/calender every minutes onto our windows mobile devices. iPhone3G just did it so smoothly that I can just put in my email address and domain id/pwd also point out my activesync server, then all its done! with the push mail ability that I can easily get my mail on my phone when it just arrived the server mail box. the mail browsing interface was also a good one. can’t stop playing it around!!

the gmail support is also good, by adopting IMAP on gmail service, gmail can push near real time mail to iPhone 3G without manually sync the mail folders. besides, if you got your domain email hosted by gmail, you are immidiately capable to use your domain mail account with iPhone 3G gmail support, just the same as normal gmail accounts.

I did try the Yahoo mail too. the result is that, using the US yahoo mail account (end with yahoo.com), the iPhone Yahoo mail integration works fine without problems. but when using the Japan yahoo account (end with yahoo.co.jp) , it won’t work and iPhone will keep telling you something like the id and password are not correct. since iPhone is trying to work in IMAP way by default, I guess that its the Japan Yahoo mail server still not integrated with iPhone system. by selecting “other” in the new mail settings and input the mail address and password, iPhone successfully added the Japan Yahoo mail account by using SMTP/POP3 way, althought this will lost the push mail abilities.

With Japan iPhone 3G launch, SoftBank prepared a Mail(i) service for iPhone user that will included a “@ i.softbank.jp” mail address for iPhone 3G, to have the default push mail abilities just like those traditional Japan cellphone mail did. this one is also easy to setup by just using the “other” mail addition inside the setting panels. with this mail account, it seems that SoftBank has did some trick that, when there was mail coming, the iPhone will just pop out a message telling you that you got a mail, just like the ordinary Japan cellphone! cool! a real push mail system and I bet with this one the Japanese people will just switching, cellphone mail is everything here in Japan!!

Mobile Me is still not available now for test.

at last, I’ve successfully added 2 of my gmail account, 1 softbank iphone mail, 1 my domain email which hosted on gmail, and one of my corp exchange server mail with calendar and contacts, also the corp Global Address List (GAL) for corp user search! business and private, all in the same little shiny iPhone 3G!! never be better!!

During sunday time I took this iPhone 3G to hang out with my friends, trying to test the GPS functionalities. the result is pretty good! with the local integration of Google Maps, I can quickly locate myself, and search for local restaurants, although it can not tell me the drive direction like in US, I was able to find the place I like to go and quicky got there. I just like those hi-tech!!!

got some bad side of iPhone 3G? well, a little.

first, the battery life. if you keep toying your iPhone, like using Google Map with GPS, while checking your email, browing the web pages, taking some pics using the built-in camera, your iPhone won’t normally hang on for 3.5 hours… but still pretty good enough.

second, actually while my using when I was outside, the iPhone 3G hangs once when I was browsing pages and checking google maps, no reactions at all on iPhone and I have to cold reset the iPhone to take it back to action. reminded myself of the windows mobile phone… just this once…

third, the actually price. in Japan if you want to have this iPhone 3G, for 16gb model, you have to pay about 8000 yen a month for 26 months, including the price for the iPhone 3G hardware, also the unlimited internet usage of a month. although Steve said that it’s $199 for 8gb and $299 for a 16gb iPhone 3G, the overall price for consumers is still expensive I think. 

as in a geek’s point of view, my overall score for this new iPhone 3G is pretty high. it just beats all the cellphone I’ve used, and I loved it pretty much!!

to use your iPhone 3G efficiently, you still have to re-think how you manage your whole emails, in order to take the whole goodies of the push mail abilities on iPhone. I’ll try to write something about how I re-org my management of emails across seveal mail accounts, to be able to back up all the mails locally, while still keep those mails on server side to be able to view on iPhone, on my part 2 iPhone 3G experiences. stay tuned…

Technorati Tags: ,,,
Posted: 2008/7/14 3:20 by rextangtw | with 3 comment(s)
Filed under: , ,
Hyper-V RTM is available for download…

crosspost from http://blogs.msdn.com/rextang

just at 6/26, Hyper-V RTM was released for download… This RTM is 6 weeks ahead of schedule and will be available by Windows Update at 8th July.

Michael Niehaus got a post of auto install Hyper-V RTM using Microsoft Deployment Toolket 2008, and John Howard got a RTM announcement posts with all the download links and the other post about slipstreaming the latest Hyper-V RTM bits to OS image and deploying using WDS.

FYI.

Bill Gates last day at Microsoft

crosspost from http://blogs.msdn.com/rextang

Just watched live streaming farewell of Bill Gates in Japan, since today is the last day of Bill Gates working at Microsoft.

This should be one of the big events of Microsoft today. and I can say that it’s because of Bill, that brought me into the fantastic computer world since year 1990 when I was still a junior high school student who started programming BASIC, and later decided to major in Information Technology in College and later going into IT industry and finally working for Microsoft, Bill’s company. Bill should count as one of the most influencial people of my life until now. 

Thank you Bill, for bring us this fantastic digital world, and let us know the magic of software!

Here is the public video of Bill Gates – Looking Back, Moving Forward.

FYI.

Technorati Tags: ,
Posted: 2008/6/28 4:04 by rextangtw | with 1 comment(s)
Filed under:
Subversion 1.5.0 released…

crosspost from http://blogs.msdn.com/rextang

[via gslin] [via Collabnet blog]

Subversion just released its latest version 1.5.0 , currently linux version is available for download, windows version will be little later scheduled at 6/24 and solaris version at 6/26.

according to the release notes, something new is in this version:

FYI.

Parallel Extension to .NET 3.5 June 08 CTP released…

crosspost from http://blogs.msdn.com/rextang

at 06/02, Microsoft just released the latest CTP of Parallel Extension to .NET 3.5 (as PFX later), available for download here.

on considering delivery HPC application development, I am evaluating proper technologies that’s suitable for parallel and concurrent programming. of course PFX would be one of the choice in Microsoft platform.

refer to Somasegar and PFX Team blog for more detail release information.

Posted: 2008/6/19 21:55 by rextangtw | with no comments
Filed under: , ,
More Posts « Previous page - Next page »