Monday, December 07, 2009

Remove "Copy: " from Outlook Calendar Items

Recently I changed over to a new company (sort of, long story) and had to import all my calendar items onto the new Exchange server. Actually, I wanted all my email, tasks, and everything to move, so I exported my entire mailbox as a PST and then opened it while connected to the new server and moved everything from the PST onto the server. It was all fine until I noticed all my calender items all now begin with "Copy: " Most annoying. So I wrote a VBA script to take the word "Copy: " out of the beginning of all my appointments. Actually, the concepts behind the script are useful anytime you'd want to loop through a list of Outlook items. Here's the script:

Sub deleteCopyText()
Dim counter As Integer
Dim objOL As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim colCal As Outlook.Items
Dim objAppt As Outlook.AppointmentItem
Set objOL = CreateObject("Outlook.Application")
Set objNS = objOL.GetNamespace("MAPI")
Set colCal = objNS.GetDefaultFolder(olFolderCalendar).Items
counter = 0
For Each objAppt In colCal
If Left(objAppt.Subject, 6) = "Copy: " Then
'MsgBox objAppt.Subject
objAppt.Subject = Replace(objAppt.Subject, "Copy: ", "")
'MsgBox objAppt.Subject
objAppt.Save
counter = counter + 1
End If
Next
MsgBox "Complete. " & counter & " items renamed."

End Sub

This script will ignore anything that does not begin with "Copy: ". You can uncomment out the msgbox lines if you want to see what change it is going to make one by one. To run it, open Outlook. Pres alt+F11 - this will get you into the VBA environment. Right click Project1 in the Project window and select "Insert -> New Module" Paste the code above (from sub deleteCopyText() to end sub()). Press F5 to run the script or if you want to be cautious, press F8 and it will run it one line at a time (press F8 repeatedly until you are satisfied it is doing what you think it should, then press F5 to run the script without stopping). You probably won't want to run the script with the msgbox lines uncommented if you have lots of calendar items, otherwise it will pop up two message boxes that you have to clear for each calendar item it is going to change. If that happens to you, press Ctrl+Break to stop the script. You could also comment out objAppt.Save if you just wanted to run the script to see how many calendar items it is going to change (no changes will actually be made).

Tuesday, April 07, 2009

Getting Calendar invites to work with Outlook, Exchange, and Gmail

I use Outlook with Exchange at work. My wife uses Outlook with Gmail (POP) at home. We've really enjoyed being able to send each other calendar appointments but there's always been one problem that's driven me nuts. Whenever I send her a calendar appointment, it goes through just fine, and I see that she accepted it. If I then modify that appointment however, it will not be delivered. I'll get a delayed response for two days (how long our Exchange server is configured to retry) and then an undeliverable message. I finally found the solution for this problem.

There is a Microsoft article that talks about this problem between Exchange 2003 and Exchange 2007 servers but the fix also fixed my Gmail problem. It has to do with improper handling of a time attribute in the change notification. Anyway, the fix involves a registry change and requesting a hotfix from Microsoft. The article can be found here:
http://support.microsoft.com/kb/938650/en-us

Monday, March 23, 2009

Deploy iTunes with group policy

I had to get iTunes to deploy with group policy today. I found various pieces of information all over the web, so here's the concise steps I used to make it work:
1. Download iTunes + QuickTime from apple.
2. Use 7-zip or WinRAR to extract iTunesSetup.exe.
3. Download and install Orca to edit the QuickTime.msi and iTunes.msi files. You can get orca itself from Microsoft's Windows Installer SDK or get the tool by itself from Softpedia.
4. In Orca open QuickTime.msi. Go to view -> summary information and remove all languages except 1033.
5. Save the transformed MSI as whatever (I just overwrote the original QuickTime.msi)
6. Create a new Transform (Transorm -> New Transform)
7. Make the following modifications:
- LaunchCondition -> NOT BNEWERPRODUCTISINSTALLED: Drop this line, if you don't, quicktime will not install, you'll get an error in the event viewer, and itunes will go ahead and install but then tell you it can't launch because quicktime is not installed.
- Property -> SCHEDULE_ASUW: Set this to 0 to avoid iTunes trying to update itself. This is one of the main reasons for me rolling this out with group policy.
- Registry -> Find the item that has QTTask.exe as it's component and drop that line. This keeps qttask.exe from running in the background, which you don't need.
- Shortcut: Drop Desktop shortcut, Uninstall shortcut, and Readme lines
8. Generate a new transform (Transform menu) and save it as whatever.
9. Open the iTunes.msi file, and repeat steps 4,5, and 6, and make the following modifications:
- Component -> iTunesDesktopShortcuts: set DESKTOP_SHORTCUTS=0 in the condition field
- CustomAction -> QuickTimeInstallFailed: Drop this line
- Property -> IAcceptLicense: Yes
- Property -> SCHEDULE_ASUW: 0
- Shortcut -> Drop about shortcut
10. Open Bonjour.msi repeat steps 4 and 5, and make the following modifications:
- Property -> IAcceptLicense: Yes
- LaunchCondition -> NOT BNEWERPRODUCTISINSTALLED: Drop this line
- Shortcut -> Drop all rows
11. Repeat step 10 for AppleMobileDeviceSupport.msi (there are no shortcuts to drop)
12. Create a group policy (or add it to an existing one) and add the software installations and the transforms. I'm not going to cover the details of that process here - it's pretty straight forward group policy stuff; google deploying applications with group policy if you need help. Just remember that your computer accounts (not user accounts) need to be assigned to the policy since group policy software installations are computer policies, AND those computer accounts need to have access to your distribution location.

These settings are what I used to roll out iTunes with all necessary accompanying software in order to be able to synch with iPhones. We also have a couple of applications people use on their iPhone that use wireless synch/file transfer features that require Bonjour, otherwise I wouldn't bother rolling out Bonjour. Hopefully I didn't forget anything.

Friday, January 23, 2009

Getting VZAccess Manager to survive suspend

I have always liked that I can be running VZAccess Manager (with a Verizion PCMCIA 5750 card from Pantech) and suspend the laptop (running Vista 32Bit SP1), and have it come right back up out of suspend and automatically connect within seconds. One day this stopped working, and it was driving me crazy trying to fix it. Of course, Verizon's answer is that you should close VZAccess Manager and eject the card before suspending. Hmph. I'm a busy guy, and like time savers - even if they only save a few seconds or minutes. In reality, I'd often have to reboot to get it working again, so this was becoming a real problem. Anyway, after many different driver versions, versions of VZAccess manager, etc, I finally found a solution.

As part of my efforts I had enabled NDIS along with trying some other things (preferences in VZAccess Manager) and it started working, but I think that was coincidental - that wasn't the real fix, but I mention just in case it did have something to do with it. I kept pursuing a "Pantech PC Card Composite Device (UDP)" device under Universal Serial Bus Controllers in Device Manager because that seemed to be the device that wasn't properly being powered down and back on. The device I SHOULD have looked at was under network adapters - "PANTECH PC Card WWAN Controller." At first I thought this wasn't there until enabling NDIS, but now that I think about it, I may have just overlooked it. Anyway, you access the properties of this device and go to power management. UNcheck the box that says "Allow the computer to turn off this device to save power." Once I unchecked that box, things have been working swell. Here's a screenshot:

Thursday, January 22, 2009

Combining .dat files from Savin multifunction device

This finally bugged me enough to figure this out today. If you have a multifunction device that you can scan to email, and you've configured it to break up the email if the scanned document gets too large, then you may end up with two (or more) seemingly useless .dat files in your email. This is how you combine them into a useful file:
1. The dat files are not just the scanned document, but the entire email plus the attached document. Therefore you have to combine the files and then open them in an email program.
2. Open the first .dat file in notepad. Notice the email headers, followed by the data of the attachment.
3. Open the second .dat file in notepad. Cut and paste the ENTIRE contents of the second .dat file into the first .dat file, immediatelyafter the end of the file. Repeat for all other .dat files you may have.
4. Save the combined .dat files document as something with a .eml extension.
5. If you have Vista, open the .eml file in Windows Mail. If you have XP, open it in Outlook Express (or possibly Microsoft Mail). It doesn't work to open it in regular Outlook. There are probably other email clients that will properly open the .eml file - if anyone else knows of any, feel free to comment.
6. If you are prompted with a wizard to set up email (which you will be if you've never launched Outlook Express or Windows Mail, just cancel out of the window and ignore any setup - you just want to get the program loaded.
7. Once Windows Mail or Outlook Express will launch, the email should open (you may have to reopen it again - just drag it into the application window), showing you the attachment, which is probably a TIF or a PDF, depending on how your multifunction device is configured. You can then save the attachment and away you go.

Now of course, you could just split up your document yourself when you scan it, or remove or increase the attachment size limitation, or scan it directly to a share on the network. Those are all workarounds we've used in the past, but I scanned a rather large document today and was just too lazy to rescan it (but not too lazy to spend MORE time figuring out this solution and then blogging it!)

Wednesday, December 10, 2008

iPhone pros and cons

This is in no means an exhaustive comparison of the iPhone to windows mobile devices (at least the ones we currently use in our company, Treo's, Q's, etc.). I just needed a place to jot down a few observations because I know people will ask me later.

    Cons of the iPhone compared to windows mobile devices:
  • Can't include attendees on calendar items

  • No cut and paste

  • No task synchronization with Exchange- no tasks at all unless you use a third party app

  • Harder to type for most people (compared to devices with actual button keyboards - can't type by feel)

  • No week view on calendar

  • Can't put files on the phone - your own html docs, word and excel docs, etc, unless you email them to yourself

  • Can't customize ringtones as much - customize sounds for event notification, new email, etc.(Not without jailbreaking it and some creative work that is)


    Pros:
  • It's just plain cool

  • Way more apps, useful and fun apps

  • Web browser is way better

  • Interface is intuitive, easy to use

  • iPod

  • Stable




I'll add more later as I think of them or encounter them...

Later...

Here's a list of the features of iPhone 3.0 firmware I compiled for an email to some people:
• Cut, Copy, Paste
• Voice notes
• Contacts Forwarding
• CalDav support – standard for sharing calendars. Subscription calendar support. It appears that CalDav support will enable you to send calendar invites, but I couldn’t officially verify that this works with exchange calendars – some other online sources I found say it does.
• Search across contacts, sms, calendar, ipod, notes (Spotlight)
• Turn by turn GPS – This is not native to the phone, but 3rd parties will now be able to develop this (meaning it will likely not be free). Due to licensing, they will still not be able to integrate into maps because of licensing on the tiles, but 3rd parties can develop it as long as they use their own tiles (think Garmin or TomTom)
• iPhone tethering without jailbreaking the phone. This means readers and other apps like eWallet will be able to use synchronization over tethering instead of wireless (the developer still has to develop it)
• MMS (pictures, locations in maps, audio notes in text messages – take a picture or access camera roll right from the text messaging screen and include it in a text)
• Landscape view for all apps
• Open links in a new page in safari, copy links
• Shake to shuffle iPod (shake API open to all apps). Also shake to undo (like undo pasting a block of text in email)
• Auto-fill in Safari
• Email directly inside of apps (Called e-mail sheet)
• Ability to sync notes with iTunes – not sure if voice notes synchronize, but you can email them.
• Push notification – allows 3rd party apps to push things to the phone, just like email. Maybe somebody will finally develop a decent task/reminder/snooze app now that the push notification will always be running in the background. Demo showed using Oracle Business Indicators to push inventory notifications (inventory running low on certain pieces for a manufacturing line). Also, ESPN app pushing sports scores and key events.
• Allow purchases within apps without having to go the iTunes store – like buying eBooks from within the reader. It is scarily easy to buy stuff inside apps – the demo showed purchasing a “stereo” for a SIM’s virtual room. It took about 3 seconds to spend the 0.99 for the stereo to be added to the app, which then played music from the iPod library from within the app.
• Ability to handle more external accessories through both the iPhone connector and Bluetooth, and more integration, like being able to control an FM transmitter with the phone (automatically find optimal FM station), or controlling speakers EQ. (Depends on specific hardware and how it is developed). It is anticipated that this will be a huge boon to iPhone hardware development. This includes Bluetooth A2DP support, which will allow stereo high quality Bluetooth headsets without additional hardware. Another example Apple gives is a blood pressure tester that hooks right into the iPhone through the dock connector. Another demo showed glucose reader that hooked right into iPhone for diabetics, which tracked history, add notes, show appropriate foods and and how much insulin you should take, send info to parents, doctors, etc.
• Peer-to-peer connectivity – share data, play games between iPhones, etc. – kind of like a PSP or a DS does. Can transfer documents to other iPhones, like the Treo’s could do. (Depends on the app you are using, the iPhone doesn’t do it natively)
• Open access to maps and iPods – apps will be able to integrate with maps and the iPod app
• Built in VOIP api’s
• Safari can remember login credentials
• Send multiple photos in one email (using copy and paste)
• Safari parental controls, anti-phishing
• Proximity sensor
• In Game voice – voice capabilities integrated into games
• Audio/Video streaming over HTTP. Apps can also detect your connection speed and stream accordingly (reduce quality to avoid skips, buffering, etc)
• More wallpapers
• More languages
• Forward and delete individual sms messages
• Overall performance should be better, but some feel battery life will even be a little worse, mainly because push notification, while optimized, will still use a bit more battery


Still lacking:
• Still no flash support
• No task integration with Exchange
• No voice mail forwarding
• Doesn’t do your laundry…yet.

Tuesday, August 26, 2008

Exchange System Management for Vista

Hallelujah, Microsoft has finally released a tool to be able to manage an Exchange 2003 server from a Windows Vista client! What a novel idea - being able to manage Microsoft products with other Microsoft products! You are sheer genius, Microsoft - who would think of such a wonderful concept??? Ok, sarcasm aside, because it's about to get worse before it gets better.

Yes there is a tool. Yes it works. But I sure hope you've never attempted to get Exchange tools to work BEFORE this tool, or happen to use another Microsoft product so obscure as, I dunno, say Outlook? Because you can't install this tool with Outlook installed. Out of the frying pan and into the fire. Thanks a lot Microsoft.

Ok, so here's the procedure, the real life procedure, not the "Release Notes" procedure you'll get from Microsoft. But you're a diligent I.T. professional, you'll read the release notes anyway, right? You should. Ok, first the link to the tool and the release notes:
http://www.microsoft.com/downloads/details.aspx?familyid=3403d74e-8942-421b-8738-b3664559e46f&displaylang=en.

That page gets you to the tool and the release notes. As you diligently read through the release notes, you will notice several prerequisites - go ahead and do them - the ones about getting Windows Server 2003 SP1 Admin Tools Pack installed and turning on IIS features in Vista. So far so good. Now you get to the "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1" prerequisite. Not so fast, there sonny.

The link for this tool is found at:
http://www.microsoft.com/downloads/details.aspx?FamilyID=94274318-27c4-4d8d-9bc5-3e6484286b1f&DisplayLang=en

Assuming that link still works, use it - because when I clicked the one in the release notes it took me to the right page, or so it seemed, but clicking the download button gave me a big fat 404 (page not found). Thanks again, Microsoft.

Now for the fun - this tool will not install with any version of Exchange (i.e. the management tools you tried to get to work despite being told it didn't work in Vista), or ANY VERSION OF OUTLOOK. WHAT??? Yup, that's right. But don't fret, where there's an idiotic Microsoft stumbling block placed in your way, there's a convoluted workaround. Hooray.

First the easy - you can simply uninstall Outlook and reinstall it later. However, getting rid of Exchange might not be so easy. Now if you're lucky, you weren't like me and didn't try to get it to work, so you don't have any leftover remnants of Exchange hanging around. But if you do, you'll need to uninstall them. But don't just do the typical Uninstall from the "Programs and Features." That doesn't work - or didn't for me at least. You can choose "change" for exchange, and then "remove" for the client tools, which does remove the client tools, but remnants of Exchange will still be hanging around and you won't be able to proceed. Luckily there's a Microsoft KB on manually uninstalling Exchange, found here:

http://support.microsoft.com/kb/833396

Scroll down to "Manually remove Exchange 2003." Not all of the services and registry settings apply, but stop/delete those that do.

Ok, NOW you can run the "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1". Phew it worked! If not, don't ask me - ask Google. At this point it worked for me, so I don't have any more information for you if it doesn't, other than to say make SURE all remnants of Outlook and Exchange are gone. NOW that that's installed you can install the ESM for Vista. Wow, worked again! I launch my MMC, go into AD, and wipe away a tear or two as I double click a user and see all the exchange tabs. What a beautiful thing. Of course, I am only crying because of the pain and months and MONTHS its taken to get there. I can finally stop RDP'ing into the server to do anything Exchange related and have all my tools in one lovely mmc (assuming you've gone through the rigamaroll to get AD Users and Computers working, DHCP tools working - they don't by default - and the new group policy management tools - all topics for another day!!!)

Just to be sure, I reinstall Outlook, which goes without a hitch, and everything still works as far as both ESM and Outlook. At least so far...