我有一個Winforms應用程序,我想使用ClickOnce進行發佈。此應用程序附帶一個初始數據庫,該數據庫必須在每臺計算機上安裝一次。經過不少的努力,我已經着手使用自定義先決條件來安裝.sdf文件。我使用了Bootstrapper Manifest Generator(BMG)爲我想運行的.cmd文件創建一個包,並且將.sdf文件作爲「附加文件」。以數據庫爲前提的ClickOnce部署
我的期望是這兩個文件最終會在同一個目錄下,我將能夠將.sdf文件複製到我想要的地方(它們最終會在同一個目錄中).pre在Visual Studio中出現的必備條件很好。它可以很好地部署到客戶端系統,安裝程序可以很好地啓動前提條件。
唯一的問題是,.cmd文件正在執行的當前工作目錄是C:\ Documents and Settings \\ Desktop!
這兩個文件(.cmd或.sdf)都沒有位於那裏 - 它們在別處下載,例如「C:\ Documents and Settings \ drogers \ Local Settings \ Temp \ VSD5A.tmp」。所以,雖然我知道在哪裏xcopy,但我不知道從哪裏進行xcopy。
我該如何解決這個問題?
這裏是.cmd文件:
REM Modify this file to reflect your manufacturer name [FHCRC] and product name [ClickOnceSharedDataDemo].
SET TargetBase=%ALLUSERSPROFILE%
IF NOT "%TargetBase%"=="C:\ProgramData" SET TargetBase=%ALLUSERSPROFILE%\Application Data
REM We only want to do this copy for the first user!
if exist "%TargetBase%\FHCRC\ClickOnceSharedDataDemo\shareddata.sdf" GOTO EXIT
if not exist "%TargetBase%\FHCRC" mkdir "%TargetBase%\FHCRC"
if not exist "%TargetBase%\FHCRC\ClickOnceSharedDataDemo" mkdir "%TargetBase%\FHCRC\ClickOnceSharedDataDemo"
CACLS "%TargetBase%\FHCRC\ClickOnceSharedDataDemo" /E /T /C /G "Users":C
xcopy shareddata.sdf "%TargetBase%\FHCRC\ClickOnceSharedDataDemo\"
if not exist "%TargetBase%\FHCRC\ClickOnceSharedDataDemo\shareddata.sdf" PAUSE
if not exist "%TargetBase%\FHCRC\ClickOnceSharedDataDemo\shareddata.sdf" exit /B -1
:EXIT
PAUSE
exit /B 0
謝謝, 大衛
它似乎沒有問題 – 2011-01-22 00:07:06