2009年8月27日

如何停用 Windows Virtual PC 的時間同步功能

在預設狀態下,於 Windows 7 建立新的 Windows Virtual PC 來賓電腦(Guest Computer)虛擬機器時,會自動啟用與實體機器進行時間同步,但如果要模擬軟體試用期過期或是因試用期已過,需要調整虛擬機器內的系統時間,就需要關閉時間同步功能。

此時,請依照下列步驟進行操作:
  1. 關閉虛擬機器(不要用「休眠」的方式,要用「關機」)。
  2. 用文字編輯器開啟該虛擬機器的設定檔(.vmc),預設目錄跟虛擬硬碟檔案(.vhd)在同一目錄:
    C:\Users\<使用者帳號>\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines
  3. 找到如下所示的位置:
    <hardware>
      <bios>
        <base_board>
          ...
        </base_board>
        ...
      </bios>
    </hardware>

  4. <base_board>  之前加入如下的一行設定,以便當來賓電腦開機時,不會自動同步更新 BIOS 的時間:
    <time_sync_at_boot type="boolean">false</time_sync_at_boot>
    設定完的結果如下:
    <hardware>
      <bios>
        <time_sync_at_boot type="boolean">false</time_sync_at_boot>
        <base_board>
          ...
        </base_board>
        ...
      </bios>
    </hardware>

  5. 找到如下所示的位置:
    <integration>
      <microsoft>
        ...
        <host_time_sync>
          <enabled type="boolean">true</enabled>
          <frequency type="integer">15</frequency>
          <threshold type="integer">10</threshold>
        </host_time_sync>
        ...
      </microsoft>
    </integration>
  6. <host_time_sync><enabled type="boolean"> 標記中的 true改成  false
  7. 將修改後的 .vmc 設定檔儲存,然後啟動虛擬機器。
  8. 關閉虛擬機器的「網際網路時間」同步化功能:
    1. 在工作列的小時鐘上,按下滑鼠右鍵,選擇「調整日期/時間(A)」指令。
    2. 按下「網際網路時間」索引標籤。
    3. 取消 □ 自動與網際網路時間伺服器同步化(S) 核取方塊,按下「確定」按鈕。
附註:
  1. 上述的設定,也適用於 Virtual PC 或 Virtual Server 的虛擬機器設定檔。
  2. 請使用「小寫的英文字」來輸入值,如果您使用大寫字元或輸入一個不正確的值時, Windows Virtual PC 會自動忽略該設定。

2009年8月22日

在 Excel 中,產生 1 ~ 53 的亂數

這個問題的標題本來是這樣的:

請問如何將1-53號學生, 在新學期中RANDOM地重換座號

問題描述為:

各位高手, 我有53個學生, 在新學期要換新座號, 但我找不到RANDOM的含數, 是否能請教一下??非常謝謝

那時候的我是 Windows Server 這方面的 MVP(微軟最有價值專家,現在則是 SQL Server 的 MVP,再過幾個月,順利的話,應該又會換到另外一個新的領域去當專家了),因為對 Microsoft Office 軟體使用也稍有研究,就做了如下的答覆:

請使用 RAND() 函數,它會傳回一個大於等於 0 且小於 1 的隨機亂數。因此您可以使用

ROUND(RAND()*(53-1)+1,0) 

—或—

ROUND(RAND()*54,0)
附註:原文在微軟的 News 伺服器上,還可以找到

2009年8月20日

在非英文版的 Visual Studio 2008 安裝 .NET RIA Services July 2009 Preview (Part II)

按照「如何在非英文版的 Visual Studio 2008 安裝 .NET RIA Services July 2009 Preview」的文章進行操作,確實可以在開啟 Silverlight 專案時,出現 啟用 .NET RIA 服務 核取方塊。

然而,當您欲在承載 Silverlight 的 Web 專案新增項目時,就會發現在「Visual Studio 安裝的範本」窗格中,沒有 Authentication Domain ServiceDomain Service ClassSearch SitemapDomain ADO.NET Data Service 這 4 個範本。
沒有 Authentication Domain Service、Domain Service Class、或 Search Sitemap 這 3 個範本

原因在於,沒有將 .NET RIA Services 所提供的項目範本檔案從英文版的目錄(1033)複製到正體中文版的目錄(1028),因此請將位於下面 2 個目錄中的相關檔案複製到  1028 目錄裡:

  • %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\1033
  • %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\Web\1033 
將 1033 目錄中的檔案複製到 1028

接著將位於下面 2 個目錄中的相關檔案複製到  1028 目錄裡:

  • %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Silverlight\1033
  • %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesVisualBasic\Silverlight\1033
將 1033 目錄中的檔案複製到 1028

這麼一來,才能在開啟新的 Silverlight 專案時,看到 .NET RIA Services Class Library 專案範本。

請注意:

  1. 如果您使用的是 64 位元 Windows 作業系統,請自行將上述的路徑換成您實際的路徑,例如:C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Silverlight\1033。
  2. 如果您在 Visual Studio 2008 看不到相關的範本,請依照所使用的開發工具,以管理員身分開啟「Visual Studio 2008 命令提示字元」(位於「開始/所有程式/Microsoft Visual Studio 2008/Visual Studio Tools」裡),然後執行下面指令:
    • Visual Studio 2008
      devenv.exe /installvstemplates
    • Visual Web Developer 2008 Express
      VWDexpress.exe /InstallVSTemplates
  3. 因為目前 .NET RIA Services 還是處於測試階段,待其正式版出來,就不需要進行這麼麻煩的操作步驟了。

2009年8月16日

如何建立一個以系統管理員身份執行的「命令提示字元」

在此以 Windows 7 為例,說明在桌面上,如何建立一個「以系統管理員身份執行」「命令提示字元」
  1. 在桌面空白處,按下滑鼠右鍵,依序選擇「新增/捷徑」指令。
  2. 「建立捷徑」視窗中的「輸入項目的位置」文字方塊中,輸入如下的指令,然後按下「下一步」按鈕:
    %windir%\system32\cmd.exe

    於輸入時,會有自動完成的文字提示,所以只要輸入到 cm 之後,就可以直接用滑鼠去選取所要的項目。
  3. 「輸入這個捷徑的名稱」文字方塊中,指定捷徑的名稱,然後按下「完成」按鈕 。
  4. 在桌面上剛建立的那個捷徑上,按下滑鼠右鍵,選擇「內容」指令。
  5. 按下位於「捷徑」索引標籤右下方的「進階」按鈕。
  6. 此時會出現「進階內容」對話方塊。請勾選 以系統管理員身分執行 核取方塊,接著按下「確定」按鈕,以便關閉「進階內容」對話方塊。
  7. 按一下「套用」按鈕。

附註:
於步驟 5.,可以順便在「註解」文字方塊中,輸入您所要的說明,以便當滑鼠移至該捷徑時,會顯示該說明。

2009年8月12日

如何使用一行指令關閉然後再開啟 Microsoft SQL Server 服務

先前在「如何定時啟動或關閉 MS SQL Server」一文中,討論了如何關閉再開啟 Microsoft SQL Server,現在則是要在一行指令來完成這樣的操作。
要執行的指令如下所示:

net stop MSSQLServer && net start MSSQLServer


兩個指令之間的 &&,是表示當第 1 個指令執行成功之後,接著再執行第 2 個指令


因此我們可以在批次檔中,善用 &&,如此一來,便無須再檢查 ErrorLevel 的回傳值,簡化批次檔的程式碼。

2009年8月7日

如何在非英文版的 Visual Studio 2008 安裝 .NET RIA Services July 2009 Preview

不過就安裝個小程式,有什麼秘訣呢?當然有嘍!

.NET RIA Services July 2009 Preview 安裝程式會檢查是否已經安裝英文版的 Silverlight™ 3 Tools、Silverlight™ 3 Developer Runtime、與 Silverlight™ 3 SDK,事實上,上述的 3 個元件都已經包含在 Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1 英文版裡。

.NET RIA Services July 2009 Preview 所需的元件

如果是使用 Visual Studio 2008 的話,不太可能為了安裝 .NET RIA Services July 2009 Preview,而移除非英文版的 Visual Studio 2008,因為安裝挺費時的。還好微軟有提供免費的 Visual Web Developer Express 2008 SP1 英文版,剛好可以用來騙騙 .NET RIA Services July 2009 Preview,所以要安裝的元件之順序如下:

  1. Visual Web Developer Express 2008 SP1 英文版
  2. Silverlight™ 3 Tools for Visual Studio 2008 SP1 英文版
  3. .NET RIA Services July 2009 Preview

安裝完畢之後,即可在非英文版的 Visual Studio 2008 環境中,順利使用 .NET RIA Services July 2009 Preview 了。如果覺得 Visual Web Developer Express 2008 SP1 太佔硬碟空間,當然可以單獨移除它。

開啟專案時,就立即啟用 .NET RIA 服務:

於開啟專案後,進行 .NET RIA 服務連結設定

2009年8月1日

Microsoft Expression 3 包含哪些產品

Microsoft Expression 3 會有下列 3 種產品:

產品名稱

Expression Web 3

Expression Studio 3

Expression Professional Subscription

內含項目

Expression Web 3 + SuperPreview

Expression Design 3

Expression Encoder 3

與 TFS 整合*

Expression Blend 3 + SketchFlow

Expression Design 3

Expression Encoder 3

Expression Web 3

與 TFS 整合*

Expression Studio 3

Visual Studio 標準版

Office 標準版*

Visio 專業版*

Virtual PC

Windows XP

Windows Vista 企業版

Windows 7*

* 表示其授權僅供開發與測試之用。

上述的產品會提供:英文、法文、徳文、義大利文、西班牙文、繁體中文、簡體中文、日文、和韓文等語言版本。Expression Studio 3 的功能概要,可以透過下面的影片來瞭解:

至於那個產品適合您的需要,可以透過這個英文網頁來進行分析瞭解。

附註:
  • Expression Media 在 Expression 3 已經被拿掉,算是單獨販售的 1 項工具。
  • 微軟可能會因應新的作業系統推出,而修改上述產品的內容。