office2007在VS2008上安装失败的诡异原因(提示找不到文件)

解决VS2008与Office2007安装冲突
本文提供了解决Visual Studio 2008和Office 2007安装过程中遇到的问题的方法。安装时可能会遇到Visual Studio Web创作组件安装失败或Office 2007提示找不到特定文件的情况。通过卸载Visual Studio Authoring Component组件可以解决这些冲突。

想安装office2007,但每每安装总是提示找不到Office.zh-cn里setup.xml,OfficeMUI.msi等文件,一开始以为是 offcie2007搞的鬼,卸载后安装office2003问题依旧,然后以为安装包的问题,但此安装包 在虚拟机安装正常,实在是无语了,以为是虚拟光驱的问题,重装虚拟光驱,问题依旧。再无语中google了一番,找到大师的解决方案,就是将Visual Studio Authoring Component组件给卸载了就可以了!

http://blog.youkuaiyun.com/luozhuang/archive/2008/07/03/2608484.aspx

近日,大师们徒弟安装Visual Studio 2008和office 2007 屡屡受挫。。。。。
大师觉得很奇怪,我安装N遍了 都没有出过错啊?
问题如下: Visual Studio 2008 安装失败(“Web 创作组件”无法安装) “Visual Studio Web 创作组件(Visual Studio Authoring Component)”安装失败,出现错误界面之后,setup.exe随即停止工作

或者安装 Office 2007 提示找不到文件 比如office.zh-cn,这个文件夹也有啊。

可是我确实安装Visual Studio 2008和office 2007 N遍了一点问题也没有 这究竟是怎么了? 经过研究发现: Visual Studio Authoring Component搞鬼 原来大师用En版的VS2008ENT,装上Office2007中文版,结果安装顺利 现在徒弟们安装的都是中文版,就出问题了 好 一个一个的说: 先装Visual Studio 2008 然后安装Office2007 这个时候提示找不到文件
很简单: 去控制面板中 把VisVisual Studio Web 创作组件(Visual Studio Authoring Component) 给卸载了 就可以安装了

先装Office2007然后安装Visual Studio 2008 提示“Visual Studio Web 创作组件(Visual Studio Authoring Component)”安装失败 咱们就自己动手好了 在安装DVD的/WCU/WebDesignerCore文件夹中找到了“Visual Studio Web 创作组件”的安装程序 将其复制到硬盘上并解压缩,运行其中的setup.exe,出现与Office 2007相同的安装程序界面。
单击“立即安装”,结果出现找不到office.zh-cn文件夹中文件的对话框,选择了安装程序所在的正确位置并确定,又再一次弹出同样的窗口,安装无法继续。
这个时候就必须选择Office 2007的安装文件夹(光盘),就可以了 另外,大师提醒 切不可耍小聪明 VS2008英文版的IDE+中文版的MSDN Library,这样就不会有问题了。(真的?)
装上office 2007中文版,结果安装顺利,VS说没法加载“Web 创作组件”,没有与.aspx文件相关联,这样大师也没有办法

本文转自:http://hi.baidu.com/lvxiukai/blog/item/68251808282e21c23bc76359.html

[Setup] ; 基本信息 AppName=RMA Excel AddIn AppVersion=1.0 AppPublisher=My Company DefaultDirName={userappdata}\RMA DefaultGroupName=RMA OutputBaseFilename=RMA-Installer Compression=lzma SolidCompression=yes PrivilegesRequired=lowest OutputDir=Output ; --- 界面设置:接近“双击.vsto”的体验 --- DisableWelcomePage=yes DisableReadyPage=yes DisableStartupPrompt=yes ShowLanguageDialog=no WizardStyle=modern ; 可选:自定义小图标 (100x56) ;WizardSmallImageFile=smallimage.bmp DisableFinishedPage=yes ; 不让用户选开始菜单文件夹 DisableProgramGroupPage=yes ; ✅ 关键!禁止选择安装路径页面 DisableDirPage=yes ; --- 其他 --- AllowCancelDuringInstall=false Uninstallable=false CreateAppDir=true UsePreviousAppDir=true [Languages] Name: "default"; MessagesFile: "compiler:Default.isl" [Tasks] ;Name: launchatstartup; Description: "开机自动启动插件"; GroupDescription: "附加选项:" [Files] ; 拷贝 bin\Debug 下的所有文件 Source: "bin\Debug\*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs [Registry] ; 注册 VSTO 插件到 Excel(当前用户) Root: HKCU; Subkey: "Software\Microsoft\Office\Excel\Addins\RMA"; ValueType: string; ValueName: "Description"; ValueData: "RMA Automation Tool"; Flags: createvalueifdoesntexist Root: HKCU; Subkey: "Software\Microsoft\Office\Excel\Addins\RMA"; ValueType: string; ValueName: "FriendlyName"; ValueData: "RMA AddIn"; Flags: createvalueifdoesntexist Root: HKCU; Subkey: "Software\Microsoft\Office\Excel\Addins\RMA"; ValueType: string; ValueName: "Manifest"; ValueData: "{app}\RMA.vsto|vstolocal"; Flags: createvalueifdoesntexist Root: HKCU; Subkey: "Software\Microsoft\Office\Excel\Addins\RMA"; ValueType: dword; ValueName: "LoadBehavior"; ValueData: "3"; Flags: createvalueifdoesntexist [Icons] Name: "{group}\RMA 插件"; Filename: "{app}\RMA.vsto" Name: "{group}\打开安装目录"; Filename: "{app}" ; 开机启动快捷方式(可选) ;Name: "{commonstartup}\RMA 插件"; Filename: "{app}\RMA.vsto"; Tasks: launchatstartup [Run] ; 安装后运行 .vsto 文件 → 触发 ClickOnce 部署机制 ;Filename: "{app}\RMA.vsto"; Description: "正在注册 RMA 插件..."; Flags: nowait postinstall skipifsilent runasoriginaluser [Code] function RemoveDirRecursive(DirPath: String): Boolean; var FindRec: TFindRec; // ✅ 必须这样声明! SubPath: String; begin Result := True; // 开始枚举目录内容 if FindFirst(DirPath + '\*', FindRec) = 0 then begin repeat // 跳过 . 和 .. if (FindRec.Name <> '.') and (FindRec.Name <> '..') then begin SubPath := DirPath + '\' + FindRec.Name; if (FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY) <> 0 then begin // 是子目录 → 递归删除 if not RemoveDirRecursive(SubPath) then Result := False; end else begin // 是文件 → 尝试删除 if not DeleteFile(SubPath) then begin Log('无法删除文件: ' + SubPath); Result := False; end; end; end; until FindNext(FindRec) <> 0; // ✅ 关闭搜索句柄 FindClose(FindRec); end; // 删除当前目录本身 if not RemoveDir(DirPath) then begin Log('无法删除目录: ' + DirPath); Result := False; end; end; // Windows API 支持重启删除 function MoveFileEx(lpExistingFileName, lpNewFileName: string; dwFlags: Integer): Boolean; external 'MoveFileExW@kernel32.dll stdcall'; // 主入口 function InitializeSetup(): Boolean; var OldAppDir: String; begin Result := True; OldAppDir := ExpandConstant('{userappdata}\RMA'); if DirExists(OldAppDir) then begin MsgBox('检测到旧版本,正在清理...', mbInformation, MB_OK); // 删除注册表项 RegDeleteKeyIncludingSubkeys(HKCU, 'Software\Microsoft\Office\Excel\Addins\RMA'); // 使用自定义删除函数 if not RemoveDirRecursive(OldAppDir) then begin MsgBox('旧目录删除失败,请关闭 Excel 后重试。系统将在重启后尝试完成清理。', mbInformation, MB_OK); // 注意:这里虽然返回 False,但可以继续安装(因为冲突已隔离) end else begin MsgBox('旧版本已成功清除。', mbInformation, MB_OK); end; end; end; procedure CurStepChanged(CurStep: TSetupStep); var VSTOPath: String; ErrorCode: Integer; begin if CurStep = ssPostInstall then begin VSTOPath := ExpandConstant('{app}\RMA.vsto'); if FileExists(VSTOPath) then begin // 使用 ShellExec 打开 .vsto 文件 if not ShellExec('', VSTOPath, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode) then begin MsgBox('无法打开 RMA.vsto。错误代码: ' + IntToStr(ErrorCode), mbError, MB_OK); end; end else begin MsgBox('错误:未到 RMA.vsto 文件!路径:' + VSTOPath, mbError, MB_OK); end; end; end; 一直是这里报错if FindFirst(DirPath + '\*', FindRec) = 0 then
最新发布
10-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值