1.安裝VS2010英文版!(中文版不知行不行,請測過的朋友告知,謝謝!)
2.安裝cr4vs2010.exe 如果無法下載!請網路上自行尋找,下載網址如下:
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/20322
目前有二個版本:
Beta 1 MD5: 48B63F922440CC98C207720D48FE0E79
Beta 2 MD5: 7E6D73E19C4ECC252B61C7529C44AD39
3.將Crystal Report 2008更新到最新的Service Pack
筆者是安裝Crystal Report 2008 SP0然後一路安裝升級包
SP1, SP2, SP3, FP31,目前最新的Pack,安裝網址如下:
https://websmp130.sap-ag.de/sap%28bD1lbiZjPTAwMQ==%29/bc/bsp/spn/bobj_download/main.htm
下拉選單:
Software Product 選 Crystal Reports
Product Version (optional) 選 Crystal Reports 2008
Software Type (optional) 選 Utility
然後按下Search按鈕
裝完最新的service pack fp31 之後別忘了還要下載Crystal Reports 2008 Fix Pack 3.1 - Merge Modules
下載完成會得到cr2008sp3_mm_fp31.zip
請解壓後,把CRRuntime_12_3.msm,如果需要繁簡體,請一起複制起來,CRRuntime_12_3_zh_CN.msm,CRRuntime_12_3_zh_TW.msm
放到C:\Program Files (x86)\Common Files\Merge Modules
32位元作業系統請把(x86)拿掉
4.請參考VS2008 SP1 如何設定讓 .NET 3.5 SP1 內嵌於 Setup 專案內
5.將Microsoft Visual C++ 2005 Redistributable Package (x86)也內嵌於專案內
http://www.xun6a.us/file/8bf2543d8/vcredist_x86_2005.zip.html
於此下載,解壓後會得到一個vcredist_x86_2005目錄,將此目錄複制貼到以下路徑
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\
注意:如果客戶端不想用內嵌的方式,則必需自行安裝.Net Framework 3.5 SP1和
Microsoft Visual C++ 2005 Redistributable Package (x86)
------------------------------------------------------------------------------------------------------------
開始測試:
1.先開一個新的空的專案選要存的地方(桌面),執行環境別忘了要選.Net Framework 3.5
2.在空的專案內按右鍵,加入Windows Form專案選.Net Framework 3.5
加一個新的WinForm在左邊Toolbar選到Crystal Report Viewer拉到視窗內,按下Show All Files按鈕
就會看到References裡面多了6個Crystal Report的dll
請把這6個Crystal開頭的References記下來
然後選起來之後選右鍵,Remove掉
再依序到以下目錄一個一個加回來
C:\Program Files (x86)\Business Objects\Common\4.0\managed
C:\Program Files (x86)\Business Objects\Common\4.0\managed\dotnet2
3.在空的專案內按右鍵,加入Setup專案選.Net Framework 3.5
在Setup專案上按右鍵選Add=>Merge Module...選CRRuntime_12_3.msm,如需繁簡體CRRuntime_12_3_zh_CN.msm,CRRuntime_12_3_zh_TW.msm也一併加入
4.選到CRRuntime_12_3.msm右鍵Properties看到MergeModuleProperties,在Keycode輸入
5.在空的專案內按右鍵Properties選到Prerequisites...按鈕
把.net4.0 勾勾取消
.NET Framework 3.5 SP1打勾
Microsoft Visual C++ 2005打勾
Installwindows 3.1打勾
選Download prerequisites from the same location as my application
如果是自己安裝不需內嵌的客戶端,那就都
把.net4.0 勾勾取消把.NET Framework 3.5 SP1打勾
其他留預設就行
Download prerequisites from the component vendor's web site
6.在Setip專案內Detected Dependencies目錄展開選到Microsoft .NET Framework點二下
把Version從.NET 4.0改成.NET Framework 3.5
7.搞定囉,可以開始編譯了
最後會得到
執行setup.exe就會檢查.NET 3.5 SP1和Microsoft Visual C++ 2005
如果沒有就會自動裝好,搞定收工!
後記,編譯時會得到15個Warnings,但是不影響執行結果
如果有解決Warnings的朋友請幫忙告知,如何解決,多謝...
Read more.
分享使用微軟開發工具及工作上會遇到的疑難雜症
2010-08-31
2010-08-10
[+/-] : Word 套版 With Office Word 2007 問題
網路上找的大部份都是這樣的範例,當成功執行之後[Name]會被換成Boss
一切都是這樣的美好,因為我們全公司都使用Office 2003
可是好景不常,噹噹噹~踢到了一個鐵板
---------------------------
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Word.Find.set_Text(String prop)
---------------------------
網路上眾說紛雲,
1.有人說是記憶體壞掉
2.也有說是因為Office 2003和Office 2007同時安裝的關係
嗯~發生問題的User真的是使用Office 2007
長話短說,為了這個問題在茫茫網海中花了二天半的時間
最後當然是找到了解決方式
原來只要改一個字
把Word.WdFindWrap.wdFindContinue改成Word.WdFindWrap.wdFindAsk
問題解決!
如果套板的文字只要換一次可以把wdReplaceAll改成wdReplaceOne
這樣可以節省一些時間喔!
Case close....
Read more.
一切都是這樣的美好,因為我們全公司都使用Office 2003
Dim word As New Microsoft.Office.Interop.Word.Application
Dim doc As Microsoft.Office.Interop.Word.Document
Try
doc = word.Documents.Open("C:\1.doc")
doc.Activate()
Dim myStoryRange As Microsoft.Office.Interop.Word.Range
For Each myStoryRange In doc.StoryRanges
With myStoryRange.Find
.Text = "[Name]"
.Replacement.Text = "Boss"
.Wrap = Microsoft.Office.Interop.Word.WdFindWrap.wdFindContinue
.Execute(Replace:=Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll)
End With
Next myStoryRange
word.Visible = True
Catch ex As COMException
MessageBox.Show("Error accessing Word document.")
Finally
doc = Nothing
word = Nothing
End Try
可是好景不常,噹噹噹~踢到了一個鐵板
---------------------------
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Word.Find.set_Text(String prop)
---------------------------
網路上眾說紛雲,
1.有人說是記憶體壞掉
2.也有說是因為Office 2003和Office 2007同時安裝的關係
嗯~發生問題的User真的是使用Office 2007
長話短說,為了這個問題在茫茫網海中花了二天半的時間
最後當然是找到了解決方式
原來只要改一個字
把Word.WdFindWrap.wdFindContinue改成Word.WdFindWrap.wdFindAsk
問題解決!
如果套板的文字只要換一次可以把wdReplaceAll改成wdReplaceOne
這樣可以節省一些時間喔!
Case close....
Read more.
2010-08-04
[+/-] : Crystal Reprot For VS 2010
Crystal Reprot For VS 2010出了Beta2囉
要在VS2010的Toolbar出現Crystal Report Viewer控制項的人可以安裝
SAP Crystal Reports, version for Visual Studio 2010
目前好像只支援英文版的VS2010
安裝心得,由以下網址進入
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/20322
會看到三個下載
Read more.
要在VS2010的Toolbar出現Crystal Report Viewer控制項的人可以安裝
SAP Crystal Reports, version for Visual Studio 2010
目前好像只支援英文版的VS2010
安裝心得,由以下網址進入
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/20322
會看到三個下載
SAP Crystal Reports, version for Visual Studio 2010
SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit)
SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit)
當初只想嘗鮮!所以只裝了SAP Crystal Reports, version for Visual Studio 2010然後就興高采烈的開了一個Windows專案,因為是VS2010的緣故
所以預設就以.NET Framework 4.0的方式開啟!
結果在Toolbar看不到Crystal Report Viewer控制項,當場冷掉,
花了幾小時的重灌和上網找資料,突然心念一轉就以.Net Framework 3.5開一個新專案
登登登登~Toolbar居然看到了久造的Crystal Report Viewer控制項,感動ing
結論:
要想.NET Framework 4.0可以看到Crystal Report Viewer控制項
最好把底下二個也灌一灌:
SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit)
SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit)
Read more.
訂閱:
文章 (Atom)