Microsoft Server 2008 x64 32-bit 和 64-bit 的簡單解決方法

Chowky  在64-bit 的 Microsoft Server 2008 64bit 上要行 32bit application. 本想全部用 64bit 的executable. 只不過有很多legacy system 的driver 是不支援64bit 的,只有32bit 的支援,e.g. foxpro driver, crystal report server 11 runtime…etc.  這些真的沒有方法去解決的 (自己重寫個system / drvier? don’t play la)。當然,最絕的方法就要全部用32bit,推個客話technical problem 指個driver 無64bit support。但是全部採用32bit 的話就似乎影響了 performance (太堅持了~放棄咪唔駛咁慘 la).

簡單來講就要分開兩個來寫。~新的就用x64,舊的就用x86,但online 的解決方法實在太難明了,不想研究。最終都找到合適的方案

~利用 visual studio build target platform~

 

 

chowky 都想一個project / executable 就做完。但是,google 了很久都沒有一個很簡單的方法可以混合使用。(因為m$ 為了support X86 的legacy, 就加入了 WoW64 ,咁有創意,不過就真係分得很開,所有library 都分開兩套,兩面無簡單方法 communicate,混合採用最終就放棄)

只要利用以上step 就可以target on which platform.

所以 chowky 就想到了分開兩個exe ,利用parameters 去communicate with each other.

1. Executable for the main app.( target for x64 )

2. Executable serve for foxpro (target for x86,用來handle legacy driver / executables ) chowky 的case 只是extract data only,extract 完就load 去 sql server as data store.

in x64 如果要call x86 的 executable 的sample:

1
2
3
4
5
Process proc = new Process();
proc.StartInfo.FileName = ; //which is targeted x86
proc.StartInfo.Arguments = "-paramTABLENAME";
proc.Start();
proc.WaitForExit(); //wait for the process to be completed. chowky 需要synchronous handling 。

如果萬一x86 exe 有 exception, 就可以利用 proc 的return value 去handle. 雖然這個方法比較轉折,而且前提是要 DATABASE DRIVER x86 和 x64都要有 (mssql 當然不用考慮這個問題,但是ORACLE、MYSQL 就要留意)

Good Luck!

Share
About Chowky
Chowky 希望可以透過這個blog 來分享自己學到的知識。亦希望可以分享最新的資訊。 IT 轉變得很快,要常常留意市場的變化,面對大陸的競爭,香港的 IT 方面的人才要更有市場觸覺,緊貼市塲走勢。因為其他地方的IT技術已經走得比以往更快。不進則退,就讓大家一起來交流、提昇IT的心得! Chowky 因為工作關係,所以一開始接觸的是visual basic, foxpro ( 這不代表我老 ) 之後是 .NET, MSSQL 和 Crystal Report. 由工作學到的project management, system analysis and design 以及 system testing, user acceptance tests and different documentations. 另外,由不同的freelance 方面學到dreamweaver, javascript, php, mysql. 後來興起CMS wave, Chowky 亦學會了Joomla! 以及常用的javascript framwork: jquery and mootool. 連deisgn 都要自己包辦,所以接觸了photoshop, illustrator, firework. 新的工作方面,要利用RIA -- Flex and AIR 方面的技術。所以緊接下來應該會多一點分享ria 方面的技術 Chowky 所說的未必是對的,但我深信我所說的是未來 IT Trend. 大家亦應抱著懷疑的態度去分析每一件事,未經思考不要輕易相信。

No Comments, Be The First!

Leave a Reply